Pusat Pengetahuan

Pengembangan lokal dengan zinnector dev

Bagaimana zinnector dev menjalankan WordPress asli di komputer Anda sendiri: dua runtime (WebAssembly tanpa Docker, atau PHP asli di Docker), memilih versi PHP dan WordPress, apa yang disajikan dari proyek Anda, di mana runtime 570 MB tersebut berada, dan apa yang terjadi pada Node 26.

zinnector dev menjalankan WordPress asli di komputer Anda sendiri, melayani plugin dan tema di dalam proyek Anda dengan versi PHP yang Anda pilih. Artikel ini menjelaskan dua runtime yang dapat digunakannya, cara memilih versi, apa saja yang dilayani dari lokasi tertentu, serta tempat penyimpanan runtime tersebut pada diska — sehingga apa yang Anda uji secara lokal adalah apa yang Anda unggah.

Dua runtime, dan mengapa keduanya nyata

Playground adalah pengaturan bawaan. WordPress Playground mengompilasi PHP ke WebAssembly dan menjalankannya di dalam Node, sehingga laptop tanpa instalasi selain Node dapat memuat WordPress dalam hitungan detik. PHP apa pun dari 5.2 hingga 8.5 tersedia. Fitur ini memuat sekumpulan ekstensi PHP kecil (intl, redis, memcached seperti yang diukur pada pembangunan saat ini), yang cukup untuk sebagian besar pekerjaan plugin dan tema.

Docker menjalankan wadah php-fpm dan MariaDB asli. Fitur ini lebih lambat, memerlukan daemon Docker dan gambar berukuran sekitar 1,2 GB, serta mendukung PHP 7.4 hingga 8.5 — tetapi fitur ini menjalankan PHP asli dengan kumpulan ekstensi lengkap, termasuk imagick dan gd. Ini adalah jawaban jujur ketika yang perlu Anda uji adalah ekstensi yang tidak didukung oleh pembangunan WebAssembly.

zinnector dev                       # playground
zinnector dev --runtime docker      # PHP asli + MariaDB

Docker tidak pernah dialihkan secara otomatis dan senyap. Pengembang yang mengira mereka menggunakan WebAssembly tetapi kenyataannya menggunakan Docker telah diberikan jawaban yang salah oleh alat yang mencoba membantu, sehingga hal tersebut harus dimintai berdasarkan namanya.

Memilih versi PHP dan WordPress

zinnector dev --php 8.1 --wp 6.7    # mengembangkan terhadap pasangan tertentu
zinnector dev --port 9401           # saat port 9400 sedang digunakan
zinnector dev --no-login            # tidak masuk ke wp-admin secara otomatis
zinnector dev --verbose             # menampilkan keluaran dari runtime itu sendiri

Pengaturan bawaan berasal dari zinnector.json di dalam proyek — php, wordpress, runtime, dan port — yang ditulis oleh zinnector new dan yang harus Anda lakukan commit, sehingga semua orang pada proyek tersebut menjalankan versi yang sama. Argumen pada baris perintah akan mengungguli berkas untuk eksekusi tersebut.

Versi yang Anda nyatakan dan versi yang dijalankan adalah dua hal yang berbeda. zinnector dev --once memuat runtime, mencetak apa yang dilaporkannya — versi PHP, versi WordPress, ekstensi yang dimuat — lalu berhenti. zinnector check --probe menggunakan pengukuran yang sama saat membandingkan proyek Anda dengan slot hosting.

Hal yang dilayani dari proyek Anda

Runtime memasang direktori wp-content/plugins, wp-content/themes, dan wp-content/mu-plugins proyek Anda secara langsung, sehingga berkas yang Anda simpan akan langsung aktif pada pemuatan berikutnya. Direktori yang ada tetapi tidak berisi konten nyata secara sengaja tidak dipasang: themes/ kosong yang dipasang di atas tema milik runtime itu sendiri akan membuat WordPress tidak memiliki tema sama sekali, yang menghasilkan galat 500 kosong alih-alih situs Anda. Itulah sebabnya kerangka tersebut mempertahankan direktori kosong dengan .gitkeep dan mengapa direktori tersebut tidak menutupi apa pun hingga Anda memasukkan tema ke dalamnya.

Tempat penyimpanan runtime

Runtime WordPress diunduh pada penggunaan pertama alih-alih disertakan bersama CLI — paket yang membawa setiap pembangunan PHP berukuran sekitar 570 MB, dan seorang pengembang yang hanya mencantumkan situs seharusnya tidak perlu menanggung ukurannya. Berkas tersebut disimpan di dalam tembolok Zinnector® sendiri, ~/.cache/zinnector/runtimes/playground/<version> (atau ke mana pun ZINNECTOR_CACHE_DIR mengarah), tidak pernah di dalam proyek Anda, sehingga tidak akan berakhir di repositori Anda atau di dalam pohon direktori yang diukur oleh zinnector push. Unduhan dilakukan oleh npm Anda sendiri, dijalankan sebagai node npm-cli.js — tidak pernah melalui shell.

Versi runtime dikaitkan dengan versi CLI, sehingga dua pengembang pada satu proyek menjalankan pembangunan PHP yang sama. zinnector dev --reset-runtime membuang runtime yang terpasang dan memasangnya kembali, yang merupakan solusi untuk runtime yang terpasang tetapi tidak dapat dimuat.

Pada Node 26 atau yang lebih baru

CLI itu sendiri berjalan pada Node versi 24 ke atas. Namun, modul asli runtime hanya menyediakan binari prabangun untuk Node 24 dan 25 (per September 2026). Alih-alih mengompilasi apa pun — yang pada Windows berarti memasang Visual Studio — Zinnector® mengambil Node 24 khusus untuk runtime, sekitar 30 MB, yang diverifikasi terhadap jumlah pemeriksaan (checksum) yang diterbitkan oleh nodejs.org, ke dalam tembolok yang sama. Perintah pemasangan akan menampilkannya saat diterapkan. Tidak ada yang berubah pada Node Anda sendiri.

Terkait

Masih bingung?

Dukungan disertakan di setiap paket dan dijawab dalam bahasa Anda sendiri.

Hubungi dukungan Semua artikel