zinnector dev menjalankan WordPress sungguhan di mesin Anda sendiri, menyajikan plugin dan tema dalam proyek Anda, dengan versi PHP yang Anda pilih. Artikel ini menjelaskan dua runtime yang dapat digunakannya, cara memilih versi, apa yang disajikan dari mana, dan tempat runtime berada di disk — sehingga apa yang Anda uji secara lokal sama dengan apa yang Anda deploy.
Dua runtime, dan mengapa keduanya sungguhan
Playground adalah opsi bawaan. WordPress Playground mengompilasi PHP ke WebAssembly dan menjalankannya di dalam Node, sehingga laptop yang hanya terpasang Node dapat melakukan booting WordPress dalam hitungan detik. PHP versi berapa pun dari 5.2 hingga 8.5 tersedia. Ini memuat sekumpulan kecil ekstensi PHP (intl, redis, memcached sebagaimana diukur pada build saat ini), yang mencukupi untuk sebagian besar pekerjaan plugin dan tema.
Docker menjalankan kontainer php-fpm dan MariaDB native. Opsi ini lebih lambat, membutuhkan daemon Docker dan sekitar 1,2 GB image, serta mendukung PHP 7.4 hingga 8.5 — tetapi menjalankan PHP native dengan kumpulan ekstensi lengkap, termasuk imagick dan gd. Ini adalah pilihan tepat ketika yang perlu Anda uji adalah ekstensi yang tidak dibawa oleh build WebAssembly.
zinnector dev # playground
zinnector dev --runtime docker # PHP native + MariaDB
Docker tidak pernah dijadikan fallback secara diam-diam. Seorang developer yang mengira mereka berada di WebAssembly padahal sebenarnya berada di Docker telah diberikan jawaban yang salah oleh fitur yang bermaksud membantu, sehingga opsi ini harus diminta secara eksplisit.
Memilih versi PHP dan WordPress
zinnector dev --php 8.1 --wp 6.7 # pengembangan untuk pasangan versi tertentu
zinnector dev --port 9401 # ketika port 9400 sudah terpakai
zinnector dev --no-login # jangan masuk ke wp-admin secara otomatis
zinnector dev --verbose # tampilkan output dari runtime itu sendiri
Pengaturan bawaan berasal dari zinnector.json di dalam proyek — php, wordpress, runtime, dan port — yang ditulis oleh zinnector new dan sebaiknya Anda commit, sehingga semua orang di dalam proyek menjalankan versi yang sama. Flag pada baris perintah akan menimpa pengaturan file untuk proses eksekusi tersebut.
Versi yang Anda deklarasikan dan versi yang berjalan adalah hal yang berbeda. Perintah zinnector dev --once mem-booting runtime, mencetak apa yang sebenarnya dilaporkan — versi PHP, versi WordPress, ekstensi yang dimuat — lalu berhenti. zinnector check --probe menggunakan pengukuran yang sama saat membandingkan proyek Anda dengan slot hosting.
Apa yang disajikan dari proyek Anda
Runtime memasang (mount) direktori wp-content/plugins, wp-content/themes, dan wp-content/mu-plugins proyek Anda secara langsung, sehingga file yang Anda simpan langsung aktif pada muat ulang berikutnya. Direktori yang ada namun tidak memuat konten nyata secara sengaja tidak dipasang: direktori themes/ kosong yang dipasang di atas tema bawaan runtime akan membuat WordPress tidak memiliki tema sama sekali, yang menghasilkan halaman kosong 500 alih-alih situs Anda. Itulah sebabnya scaffold mempertahankan direktori kosong dengan .gitkeep dan mengapa direktori tersebut tidak menimpa apa pun sampai Anda menempatkan tema di dalamnya.
Lokasi penyimpanan runtime
Runtime WordPress diunduh pada penggunaan pertama alih-alih dikirim bersama CLI — paket yang memuat setiap build PHP berukuran sekitar 570 MB, dan seorang developer yang hanya menampilkan daftar situs tidak perlu mengunduhnya. Runtime ini disimpan di cache milik Zinnector®, ~/.cache/zinnector/runtimes/playground/<version> (atau ke mana pun ZINNECTOR_CACHE_DIR diarahkan), dan tidak pernah di dalam proyek Anda, sehingga tidak akan berakhir di repositori Anda atau di struktur direktori yang diukur oleh zinnector push. Pengunduhan dilakukan oleh npm Anda sendiri, yang dijalankan sebagai node npm-cli.js — tidak pernah melalui shell.
Versi runtime dikunci ke versi CLI, sehingga dua developer dalam satu proyek menjalankan build PHP yang sama. Perintah zinnector dev --reset-runtime menghapus runtime yang terpasang dan memasangnya kembali, yang merupakan solusi untuk runtime yang terpasang tetapi tidak dapat di-booting.
Pada Node 26 atau yang lebih baru
CLI itu sendiri berjalan pada Node versi 24 ke atas. Namun, modul native runtime hanya menyediakan binary bawaan untuk Node 24 dan 25 (per September 2026). Daripada mengompilasi apa pun — yang pada Windows berarti harus menginstal Visual Studio — Zinnector® mengambil Node 24 khusus untuk runtime saja, sekitar 30 MB, diverifikasi terhadap checksum yang dipublikasikan nodejs.org, ke dalam cache yang sama. Prompt penginstalan menyatakan hal tersebut jika berlaku. Tidak ada yang berubah pada instalasi Node Anda sendiri.
Terkait