zinnector dev ດຳເນີນການ WordPress ແທ້ໆ ໃນເຄື່ອງຂອງທ່ານເອງ, ໂດຍໃຫ້ບໍລິການປລັກອິນ ແລະ ຮູບແບບ (themes) ໃນໂຄງການຂອງທ່ານ, ດ້ວຍເວີຊັນ PHP ທີ່ທ່ານເລືອກ. ບົດຄວາມນີ້ຈະອະທິບາຍກ່ຽວກັບສອງ runtime ທີ່ມັນສາມາດນຳໃຊ້ໄດ້, ວິທີການເລືອກເວີຊັນ, ສິ່ງໃດຖືກໃຫ້ບໍລິການຈາກໃສ, ແລະ ບ່ອນທີ່ runtime ຖືກເກັບໄວ້ໃນດິສກ໌ — ເພື່ອໃຫ້ສິ່ງທີ່ທ່ານທົດສອບຢູ່ໃນເຄື່ອງແມ່ນສິ່ງດຽວກັບທີ່ທ່ານ deploy.
ສອງ runtime, ແລະ ເປັນຫຍັງທັງສອງຈຶ່ງເປັນຂອງແທ້
Playground ແມ່ນຄ່າເລີ່ມຕົ້ນ. WordPress Playground ຄອມພາຍລ໌ PHP ໄປເປັນ WebAssembly ແລະ ດຳເນີນການມັນພາຍໃນ Node, ດັ່ງນັ້ນ ຄອມພິວເຕີໂນ້ດບຸກທີ່ບໍ່ໄດ້ຕິດຕັ້ງຫຍັງເລີຍນອກຈາກ Node ກໍສາມາດບູດ WordPress ໄດ້ພາຍໃນບໍ່ເທົ່າໃດວິນາທີ. ສາມາດເລືອກໃຊ້ PHP ໃດກໍໄດ້ຕັ້ງແຕ່ 5.2 ຫາ 8.5. ມັນມາພ້ອມກັບຊຸດສ່ວນຂະຫຍາຍ PHP ຂະໜາດນ້ອຍ (intl, redis, memcached ຕາມທີ່ວັດແທກໃນເວີຊັນປັດຈຸບັນ), ເຊິ່ງພຽງພໍສຳລັບວຽກປລັກອິນ ແລະ ຮູບແບບສ່ວນໃຫຍ່.
Docker ດຳເນີນການ container ຂອງ php-fpm ແລະ MariaDB ແບບ native. ມັນຊ້າກວ່າ, ຕ້ອງການ Docker daemon ແລະ ຮູບພາບ (images) ປະມານ 1.2 GB, ແລະ ຮອງຮັບ PHP 7.4 ຫາ 8.5 — ແຕ່ມັນດຳເນີນການ PHP ແບບ native ພ້ອມກັບຊຸດສ່ວນຂະຫຍາຍຄົບຖ້ວນ, ລວມທັງ imagick ແລະ gd. ມັນເປັນຄຳຕອບທີ່ຖືກຕ້ອງເມື່ອສິ່ງທີ່ທ່ານຕ້ອງການທົດສອບແມ່ນສ່ວນຂະຫຍາຍທີ່ລຸ້ນ WebAssembly ບໍ່ມີໃຫ້.
zinnector dev # playground
zinnector dev --runtime docker # native PHP + MariaDB
Docker ຈະບໍ່ຖືກປ່ຽນໄປໃຊ້ແບບອັດຕະໂນມັດໂດຍບໍ່ແຈ້ງເຕືອນ. ນັກພັດທະນາທີ່ຄິດວ່າພວກເຂົາກຳລັງໃຊ້ WebAssembly ແຕ່ຕົວຈິງແລ້ວກຳລັງໃຊ້ Docker ຢູ່ ແມ່ນໄດ້ຮັບຄຳຕອບທີ່ຜິດພາດຈາກເຄື່ອງມືທີ່ພະຍາຍາມຈະຊ່ວຍເຫຼືອ, ດັ່ງນັ້ນ ມັນຈຶ່ງຕ້ອງຖືກຮຽກໃຊ້ໂດຍລະບຸຊື່ຢ່າງຊັດເຈນ.
ການເລືອກເວີຊັນ PHP ແລະ WordPress
zinnector dev --php 8.1 --wp 6.7 # ພັດທະນາໂດຍກຳນົດຄູ່ສະເພາະ
zinnector dev --port 9401 # ເມື່ອພອດ 9400 ຖືກໃຊ້ຢູ່
zinnector dev --no-login # ບໍ່ເຂົ້າສູ່ລະບົບ wp-admin ໂດຍອັດຕະໂນມັດ
zinnector dev --verbose # ສະແດງຜົນການເຮັດວຽກຂອງ runtime ເອງ
ຄ່າເລີ່ມຕົ້ນແມ່ນມາຈາກ zinnector.json ໃນໂຄງການ — php, wordpress, runtime ແລະ port — ເຊິ່ງ zinnector new ເປັນຜູ້ຂຽນຂຶ້ນ ແລະ ທ່ານຄວນ commit ມັນໄວ້, ເພື່ອໃຫ້ທຸກຄົນໃນໂຄງການດຳເນີນການເວີຊັນດຽວກັນ. flag ຢູ່ໃນ command line ຈະມີຜົນບັງຄັບໃຊ້ແທນຄ່າໃນໄຟລ໌ສຳລັບການດຳເນີນການຄັ້ງນັ້ນ.
ເວີຊັນທີ່ທ່ານ ປະກາດ ກັບເວີຊັນທີ່ ດຳເນີນການ ແມ່ນຄົນລະຢ່າງກັນ. zinnector dev --once ຈະບູດ runtime, ສະແດງສິ່ງທີ່ມັນລາຍງານຕົວຈິງ — ເວີຊັນ PHP, ເວີຊັນ WordPress, ສ່ວນຂະຫຍາຍທີ່ໂຫຼດ — ແລ້ວຢຸດເຮັດວຽກ. zinnector check --probe ໃຊ້ການວັດແທກດຽວກັນນີ້ເມື່ອມັນປຽບທຽບໂຄງການຂອງທ່ານກັບຊ່ອງໂຮສຕິ້ງ.
ສິ່ງທີ່ຖືກໃຫ້ບໍລິການຈາກໂຄງການຂອງທ່ານ
runtime ຈະເຊື່ອມຕໍ່ (mount) ໂຟລເດີ wp-content/plugins, wp-content/themes ແລະ wp-content/mu-plugins ຂອງໂຄງການທ່ານໂດຍກົງ, ດັ່ງນັ້ນ ໄຟລ໌ທີ່ທ່ານບັນທຶກຈະມີຜົນທັນທີໃນການໂຫຼດໃໝ່ຄັ້ງຕໍ່ໄປ. ໂຟລເດີທີ່ມີຢູ່ແຕ່ບໍ່ມີເນື້ອຫາຕົວຈິງແມ່ນຖືກຕັ້ງໃຈ ບໍ່ ໃຫ້ mount: ໂຟລເດີ themes/ ທີ່ວ່າງເປົ່າເຊິ່ງຖືກ mount ທັບຮູບແບບຂອງ runtime ເອງ ຈະເຮັດໃຫ້ WordPress ບໍ່ມີຮູບແບບເລີຍ, ເຊິ່ງຈະສະແດງໜ້າວ່າງ 500 ແທນທີ່ຈະເປັນເວັບໄຊທ໌ຂອງທ່ານ. ນັ້ນແມ່ນເຫດຜົນທີ່ scaffold ເກັບຮັກສາໂຟລເດີວ່າງເປົ່າໄວ້ດ້ວຍ .gitkeep ແລະ ເປັນຫຍັງພວກມັນຈຶ່ງບໍ່ບົດບັງສິ່ງໃດຈົນກວ່າທ່ານຈະໃສ່ຮູບແບບລົງໃນພວກມັນ.
ບ່ອນທີ່ runtime ຖືກເກັບໄວ້
runtime ຂອງ WordPress ຈະຖືກດາວໂຫຼດໃນການນຳໃຊ້ຄັ້ງທຳອິດ ແທນທີ່ຈະຖືກສົ່ງມານຳ CLI — ແພັກເກດທີ່ບັນຈຸ PHP ທຸກລຸ້ນມີຂະໜາດປະມານ 570 MB, ແລະ ນັກພັດທະນາທີ່ພຽງແຕ່ເອີ້ນເບິ່ງລາຍຊື່ເວັບໄຊທ໌ບໍ່ຄວນຈະຕ້ອງເສຍພື້ນທີ່ໃຫ້ກັບມັນ. ມັນຖືກເກັບໄວ້ໃນແຄຊ໌ຂອງ Zinnector® ເອງ, ~/.cache/zinnector/runtimes/playground/<version> (ຫຼື ບ່ອນໃດກໍຕາມທີ່ ZINNECTOR_CACHE_DIR ຊີ້ໄປຫາ), ບໍ່ເຄີຍເກັບໄວ້ໃນໂຄງການຂອງທ່ານ, ດັ່ງນັ້ນ ມັນຈຶ່ງບໍ່ສາມາດໄປຢູ່ໃນ repository ຂອງທ່ານ ຫຼື ໃນໂຄງສ້າງທີ່ zinnector push ວັດແທກໄດ້. ການດາວໂຫຼດແມ່ນດຳເນີນການໂດຍ npm ຂອງທ່ານເອງ, ໂດຍເຮັດວຽກເປັນ node npm-cli.js — ບໍ່ເຄີຍຜ່ານ shell ເລີຍ.
ເວີຊັນຂອງ runtime ຈະຖືກຜູກຕິດກັບເວີຊັນຂອງ CLI, ເພື່ອໃຫ້ນັກພັດທະນາສອງຄົນໃນໂຄງການດຽວກັນໃຊ້ PHP build ດຽວກັນ. zinnector dev --reset-runtime ຈະລຶບ runtime ທີ່ຕິດຕັ້ງໄວ້ອອກ ແລະ ຕິດຕັ້ງມັນໃໝ່ອີກຄັ້ງ, ເຊິ່ງເປັນວິທີແກ້ໄຂສຳລັບ runtime ທີ່ຕິດຕັ້ງແລ້ວແຕ່ບໍ່ສາມາດບູດໄດ້.
ສຳລັບ Node 26 ຫຼື ໃໝ່ກວ່າ
CLI ເອງສາມາດເຮັດວຽກໄດ້ໃນ Node ຕັ້ງແຕ່ເວີຊັນ 24 ຂຶ້ນໄປ. ແນວໃດກໍຕາມ, native module ຂອງ runtime ຈະມາພ້ອມກັບ binary ທີ່ຖືກສ້າງໄວ້ລ່ວງໜ້າສະເພາະສຳລັບ Node 24 ແລະ 25 ເທົ່ານັ້ນ (ຂໍ້ມູນເມື່ອເດືອນກັນຍາ 2026). ແທນທີ່ຈະຕ້ອງຄອມພາຍລ໌ສິ່ງໃດໜຶ່ງ — ເຊິ່ງໃນ Windows ໝາຍເຖິງການຕິດຕັ້ງ Visual Studio — Zinnector® ຈະດຶງຂໍ້ມູນ Node 24 ມາສຳລັບ runtime ໂດຍສະເພາະ, ຂະໜາດປະມານ 30 MB, ໂດຍກວດສອບຄວາມຖືກຕ້ອງກັບ checksum ທີ່ nodejs.org ເຜີຍແຜ່, ເຂົ້າໄປໃນແຄຊ໌ດຽວກັນ. ຂໍ້ຄວາມແຈ້ງເຕືອນການຕິດຕັ້ງຈະແຈ້ງໃຫ້ຊາບເມື່ອມີການນຳໃຊ້. ບໍ່ມີສິ່ງໃດກ່ຽວກັບ Node ຂອງທ່ານເອງທີ່ຈະປ່ຽນແປງ.
ຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ