zinnector dev loyihangizdagi plaginlar va mavzularni siz tanlagan PHP versiyasi bilan taqdim etgan holda, oʻz kompyuteringizda haqiqiy WordPress dasturini ishga tushiradi. Ushbu maqolada u foydalanishi mumkin boʻlgan ikkita runtime, versiyalarni qanday tanlash, qaysi narsa qayerdan uzatilishi va runtime diskda qayerda joylashishi tushuntiriladi — toki siz mahalliy darajada sinab koʻrayotgan narsa aynan joylashtiradigan (deploy qiladigan) narsangiz boʻlsin.
Ikkita runtime va nima uchun ikkalasi ham haqiqiy
Playground standart hisoblanadi. WordPress Playground PHP-ni WebAssembly-ga kompilyatsiya qiladi va uni Node ichida ishga tushiradi, shu bois faqat Node oʻrnatilgan noutbuk bir necha soniya ichida WordPress-ni yuklaydi. 5.2 dan 8.5 gacha boʻlgan har qanday PHP mavjud. U kichik PHP kengaytmalari toʻplamini oʻz ichiga oladi (joriy yigʻilmada oʻlchanganidek intl, redis, memcached), bu koʻpgina plagin va mavzular bilan ishlash uchun yetarlidir.
Docker mahalliy (native) php-fpm va MariaDB konteynerlarini ishga tushiradi. U sekinroq ishlaydi, Docker demonini va taxminan 1.2 GB tasvirlarni (images) talab qiladi, hamda PHP 7.4 dan 8.5 gacha versiyalarini qoʻllab-quvvatlaydi — lekin u imagick va gd kabi toʻliq kengaytmalar toʻplamiga ega boʻlgan mahalliy PHP-ni ishga tushiradi. WebAssembly yigʻilmasida mavjud boʻlmagan kengaytmani sinab koʻrish kerak boʻlganda, bu eng toʻgʻri yechimdir.
zinnector dev # playground
zinnector dev --runtime docker # native PHP + MariaDB
Docker-ga hech qachon bildirmasdan oʻtilmaydi. Oʻzini WebAssembly-da deb oʻylab, aslida Docker-da boʻlgan dasturchiga yordam berishga urinayotgan vosita notoʻgʻri javob bergan boʻladi, shuning uchun uni nomi boʻyicha aniq soʻrash kerak.
PHP va WordPress versiyalarini tanlash
zinnector dev --php 8.1 --wp 6.7 # maʼlum bir juftlikka moslab ishlab chiqish
zinnector dev --port 9401 # 9400 band boʻlganda
zinnector dev --no-login # wp-admin-ga avtomatik kirmaslik
zinnector dev --verbose # runtime-ning oʻz chiqish maʼlumotlarini koʻrsatish
Standart sozlamalar loyihadagi zinnector.json faylidan olinadi — php, wordpress, runtime va port — bularni zinnector new yozadi va ularni commit qilishingiz kerak, shunda loyihadagi barcha kishilar bir xil versiyalarni ishga tushiradilar. Buyruqlar satridagi bayroqcha oʻsha ishga tushirish uchun fayldagi qiymatlardan ustun turadi.
Siz eʼlon qilgan versiya va ishlayotgan versiya har xil faktlardir. zinnector dev --once runtime-ni yuklaydi, u amalda nima xabar berayotganini koʻrsatadi — PHP versiyasi, WordPress versiyasi, yuklangan kengaytmalar — va toʻxtaydi. zinnector check --probe loyihangizni xosting sloti bilan solishtirganda xuddi shu oʻlchovdan foydalanadi.
Loyihangizdan nimalar taqdim etiladi
Runtime loyihangizning wp-content/plugins, wp-content/themes va wp-content/mu-plugins kataloglarini toʻgʻridan-toʻgʻri ulaydi (mount qiladi), shuning uchun siz saqlagan fayl keyingi qayta yuklashda faol boʻladi. Mavjud boʻlgan, lekin hech qanday haqiqiy kontentga ega boʻlmagan kataloglar ataylab ulanmaydi: runtime-ning oʻz mavzulari ustiga ulangan boʻsh themes/ WordPress-ni umuman mavzusiz qoldiradi, bu esa saytingiz oʻrniga boʻsh 500 xatosini keltirib chiqaradi. Shuning uchun skaffold boʻsh kataloglarni .gitkeep bilan saqlaydi va siz ularga biror mavzu joylashtirmaguningizcha ular hech narsani toʻsib qoʻymaydi.
Runtime qayerda joylashadi
WordPress runtime CLI bilan birga yetkazib berilmasdan, birinchi foydalanishda yuklab olinadi — barcha PHP yigʻilmalarini oʻz ichiga olgan paket taxminan 570 MB-ni tashkil qiladi va faqat saytlar roʻyxatini koʻradigan dasturchi bu xarajatni koʻtarmasligi kerak. U loyihangizda emas, Zinnector®-ning oʻz keshida, yaʼni ~/.cache/zinnector/runtimes/playground/<version> (yoki ZINNECTOR_CACHE_DIR qayerga ishora qilsa, oʻsha yerda) saqlanadi, shuning uchun u omboringizga (repository) yoki zinnector push oʻlchaydigan daraxtga tushib qolmaydi. Yuklab olish qobiq (shell) orqali emas, balki shaxsiy npm dasturingiz tomonidan node npm-cli.js sifatida bajariladi.
Runtime versiyasi CLI versiyasiga biriktirilgan, shuning uchun bir loyihadagi ikkita dasturchi bir xil PHP yigʻilmalarini ishga tushiradi. zinnector dev --reset-runtime oʻrnatilgan runtime-ni oʻchirib tashlaydi va uni qaytadan oʻrnatadi, bu oʻrnatilgan, ammo yuklanmayotgan runtime uchun tuzatish chorasidir.
Node 26 yoki undan yangiroq versiyalarda
CLI-ning oʻzi 24 dan yuqori boʻlgan har qanday Node-da ishlaydi. Biroq, runtime-ning native moduli oldindan tayyorlangan binar fayllarni faqat Node 24 va 25 uchun yetkazib beradi (2026-yil sentyabr holatiga koʻra). Biror narsani kompilyatsiya qilish oʻrniga — bu Windows tizimida Visual Studio-ni oʻrnatishni anglatadi — Zinnector® faqat runtime-ning oʻzi uchun nodejs.org eʼlon qilgan nazorat yigʻindilariga (checksums) nisbatan tekshirilgan Node 24-ni (taxminan 30 MB) oʻsha keshga yuklab oladi. Bu qoʻllanilganda oʻrnatish taklifida bildiriladi. Oʻzingizning shaxsiy Node dasturingizda hech narsa oʻzgarmaydi.
Aloqador