Basis pengetahuan

Pengembangan lokal dengan zinnector dev

Cara zinnector dev menjalankan WordPress nyata di mesin Anda sendiri: dua lingkungan runtime (WebAssembly tanpa Docker, atau PHP native di Docker), memilih versi PHP dan WordPress, apa yang disajikan dari proyek Anda, di mana runtime 570 MB berada, dan apa yang terjadi pada Node 26.

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

Semua dokumentasi pengembang →

Terbaru dari blog

Apa yang telah kami tulis tentang hosting, SEO, dan mengelola situs dalam skala besar.

SEO dan Pembangunan Tautan dari Lapisan Hosting: Pandangan Operator Tahun 2026

Bagaimana hosting membentuk pengindeksan dan link equity pada tahun 2026: menjaga halaman tetap terindeks, memeriksa domain lama sebelum mengembangkannya, membangun tautan tanpa jejak mesin pencari, dan pandangan jujur tentang apa yang dapat dan tidak dapat dilakukan infrastruktur untuk SEO.

Baca postingan →

Membuat WordPress Cepat dan Aman: Daftar Periksa Performa dan Plugin

Daftar periksa praktis untuk WordPress yang cepat dan aman: caching tingkat server, object cache per situs, beberapa plugin yang layak dijalankan, menjaga tumpukan teknologi tetap mutakhir, dan halaman WooCommerce yang tidak boleh Anda simpan di cache.

Baca postingan →

Cara Memilih Web Hosting Terkelola di Tahun 2026: Panduan Pembeli

Apa yang sebenarnya membedakan hosting terkelola yang baik dari kotak murah dengan panel kontrol — migrasi, pencadangan, isolasi, caching nyata, dan penskalaan yang jujur — dan cara menilainya sebelum Anda berkomitmen.

Baca postingan →

Baca blog →

Masih mengalami kendala?

Dukungan disertakan pada setiap paket, layanan meja bantuan buka selama 24 jam sehari, dan Anda dapat menulis kepada kami dalam salah satu dari 58 bahasa kami — kami akan menjawab Anda dalam bahasa Anda.

Hubungi dukungan → Semua artikel →