zinnector dev ដំណើរការ WordPress ពិតប្រាកដនៅលើម៉ាស៊ីនផ្ទាល់ខ្លួនរបស់អ្នក ដោយបម្រើកម្មវិធីជំនួយ (plugins) និងរូបរាង (themes) នៅក្នុងគម្រោងរបស់អ្នក ជាមួយនឹងកំណែ PHP ដែលអ្នកជ្រើសរើស។ អត្ថបទនេះពន្យល់អំពី runtime ទាំងពីរដែលវាអាចប្រើបាន របៀបជ្រើសរើសកំណែ អ្វីដែលត្រូវបានបម្រើចេញពីទីណា និងកន្លែងដែល runtime ស្ថិតនៅលើថាស — ដូច្នេះអ្វីដែលអ្នកសាកល្បងនៅក្នុងមូលដ្ឋាន គឺជាអ្វីដែលអ្នកដាក់ឱ្យដំណើរការ។
runtime ទាំងពីរ និងមូលហេតុដែលទាំងពីរជាកម្មវិធីពិត
Playground គឺជាជម្រើសលំនាំដើម។ WordPress Playground ចងក្រង PHP ទៅជា WebAssembly ហើយដំណើរការវានៅក្នុង Node ដូច្នេះកុំព្យូទ័រយួរដៃដែលគ្មានអ្វីដំឡើងក្រៅពី Node អាចចាប់ផ្ដើម WordPress បានក្នុងរយៈពេលប៉ុន្មានវិនាទី។ រាល់ PHP ចាប់ពី 5.2 ដល់ 8.5 គឺមានឲ្យប្រើប្រាស់។ វាផ្ទុកនូវផ្នែកបន្ថែម (extensions) PHP មួយចំនួនតូចប៉ុណ្ណោះ (intl, redis, memcached ដូចដែលបានវាស់វែងលើកំណែបង្កើតបច្ចុប្បន្ន) ដែលវាគ្រប់គ្រាន់សម្រាប់ការងារ plugin និង theme ភាគច្រើន។
Docker ដំណើរការ native container របស់ php-fpm និង MariaDB។ វាមានល្បឿនយឺតជាង ត្រូវការ Docker daemon និងទំហំ images ប្រហែល 1.2 GB ហើយគាំទ្រ PHP 7.4 ដល់ 8.5 — ប៉ុន្តែវាដំណើរការ PHP ដើម (native) ជាមួយនឹងបណ្តុំ extension ពេញលេញ រួមទាំង imagick និង gd ផងដែរ។ វាគឺជាដំណោះស្រាយដ៏ត្រឹមត្រូវ នៅពេលដែលអ្វីដែលអ្នកត្រូវការសាកល្បងគឺជា extension ដែលការបង្កើត WebAssembly មិនមានផ្ទុក។
zinnector dev # playground
zinnector dev --runtime docker # native PHP + MariaDB
Docker មិនដែលត្រូវបានប្រើជំនួសដោយស្វ័យប្រវត្តិដោយស្ងាត់ៗនោះទេ។ អ្នកអភិវឌ្ឍន៍ដែលគិតថាពួកគេកំពុងប្រើ WebAssembly ប៉ុន្តែការពិតគឺនៅលើ Docker ត្រូវបានផ្តល់ចម្លើយខុសដោយឧបករណ៍ដែលព្យាយាមជួយ ដូច្នេះវាចាំបាច់ត្រូវតែស្នើសុំតាមរយៈឈ្មោះរបស់វាផ្ទាល់។
ការជ្រើសរើសកំណែ PHP និង WordPress
zinnector dev --php 8.1 --wp 6.7 # develop against a specific pair
zinnector dev --port 9401 # when 9400 is taken
zinnector dev --no-login # do not sign in to wp-admin automatically
zinnector dev --verbose # show the runtime's own output
តម្លៃលំនាំដើមបានមកពី zinnector.json នៅក្នុងគម្រោង — php, wordpress, runtime និង port — ដែលត្រូវបានសរសេរដោយ zinnector new ហើយដែលអ្នកគួរតែ commit ទុក ដើម្បីឱ្យអ្នករាល់គ្នានៅក្នុងគម្រោងដំណើរការកំណែដូចគ្នា។ flag នៅលើ command line នឹងមានអាទិភាពជាងឯកសារសម្រាប់ការដំណើរការលើកនោះ។
កំណែដែលអ្នកប្រកាស និងកំណែដែលដំណើរការ គឺជាការពិតពីរផ្សេងគ្នា។ zinnector dev --once នឹងចាប់ផ្ដើម runtime បង្ហាញនូវអ្វីដែលវាបានរាយការណ៍ជាក់ស្ដែង — កំណែ PHP, កំណែ WordPress, extensions ដែលបានផ្ទុក — រួចបញ្ឈប់។ zinnector check --probe ប្រើប្រាស់ការវាស់វែងដូចគ្នានេះ នៅពេលដែលវាប្រៀបធៀបគម្រោងរបស់អ្នកជាមួយនឹង hosting slot។
អ្វីដែលត្រូវបានបម្រើចេញពីគម្រោងរបស់អ្នក
runtime នឹងភ្ជាប់ (mount) ថត wp-content/plugins, wp-content/themes និង wp-content/mu-plugins នៃគម្រោងរបស់អ្នកដោយផ្ទាល់ ដូច្នេះឯកសារដែលអ្នករក្សាទុកនឹងបង្ហាញភ្លាមៗនៅពេលផ្ទុកឡើងវិញបន្ទាប់។ ថតដែលមាន ប៉ុន្តែមិនមានផ្ទុកមាតិកាពិតប្រាកដ គឺត្រូវបានកំណត់ដោយចេតនាថាមិនត្រូវភ្ជាប់នោះទេ៖ ថត themes/ ទទេដែលភ្ជាប់ពីលើ themes ផ្ទាល់របស់ runtime នឹងធ្វើឱ្យ WordPress គ្មាន theme ប្រើប្រាស់ទាល់តែសោះ ដែលវានឹងបង្ហាញកំហុសទំព័រទទេ 500 ជំនួសឱ្យគេហទំព័ររបស់អ្នក។ នោះហើយជាមូលហេតុដែល scaffold រក្សាទុកថតទទេជាមួយ .gitkeep ហើយជាមូលហេតុដែលពួកវាមិនបាំងអ្វីទាំងអស់ រហូតទាល់តែអ្នកដាក់ theme ទៅក្នុងនោះ។
កន្លែងដែល runtime ស្ថិតនៅ
WordPress runtime ត្រូវបានទាញយកនៅពេលប្រើប្រាស់លើកដំបូង ជាជាងភ្ជាប់មកជាមួយ CLI ស្រាប់ — កញ្ចប់ដែលផ្ទុកការបង្កើត PHP ទាំងអស់មានទំហំប្រហែល 570 MB ហើយអ្នកអភិវឌ្ឍន៍ដែលគ្រាន់តែមើលបញ្ជីគេហទំព័រ មិនគួរត្រូវចំណាយលើការទាញយកនេះទេ។ វាត្រូវបានរក្សាទុកនៅក្នុងឃ្លាំងសម្ងាត់ផ្ទាល់របស់ Zinnector®, ~/.cache/zinnector/runtimes/playground/<version> (ឬកន្លែងណាដែល ZINNECTOR_CACHE_DIR ចង្អុលទៅ) ដោយមិនដែលស្ថិតនៅក្នុងគម្រោងរបស់អ្នកឡើយ ដូច្នេះវាមិនអាចបញ្ចប់នៅក្នុង repository របស់អ្នក ឬនៅក្នុង tree ដែល zinnector push វាស់វែងនោះទេ។ ការទាញយកត្រូវបានធ្វើឡើងដោយ npm ផ្ទាល់ខ្លួនរបស់អ្នក ដែលដំណើរការជា node npm-cli.js — មិនដែលដំណើរការតាមរយៈ shell ឡើយ។
កំណែរបស់ runtime ត្រូវបានកំណត់ភ្ជាប់ទៅនឹងកំណែរបស់ CLI ដូច្នេះអ្នកអភិវឌ្ឍន៍ពីរនាក់នៅលើគម្រោងតែមួយ នឹងដំណើរការកំណែ PHP ដូចគ្នា។ zinnector dev --reset-runtime នឹងលុប runtime ដែលបានដំឡើងចោល ហើយដំឡើងវាម្តងទៀត ដែលជាដំណោះស្រាយសម្រាប់ runtime ដែលបានដំឡើងរួចហើយ ប៉ុន្តែមិនព្រមដំណើរការ។
នៅលើ Node 26 ឬថ្មីជាងនេះ
CLI ផ្ទាល់ដំណើរការលើ Node ណាមួយចាប់ពីកំណែ 24 ឡើងទៅ។ ទោះជាយ៉ាងណាក៏ដោយ native module របស់ runtime ផ្ដល់ជូន binaries ដែលបានបង្កើតជាមុនសម្រាប់តែ Node 24 និង 25 ប៉ុណ្ណោះ (គិតត្រឹមខែកញ្ញា ឆ្នាំ 2026)។ ជាជាងការចងក្រង (compile) អ្វីមួយ — ដែលនៅលើ Windows មានន័យថាត្រូវដំឡើង Visual Studio — Zinnector® នឹងទាញយក Node 24 សម្រាប់តែ runtime តែប៉ុណ្ណោះ ដែលមានទំហំប្រហែល 30 MB ផ្ទៀងផ្ទាត់ត្រឹមត្រូវធៀបនឹង checksums ដែល nodejs.org បានផ្សព្វផ្សាយ ចូលទៅក្នុងឃ្លាំងសម្ងាត់ដដែល។ ប្រអប់សារដំឡើងនឹងប្រាប់ដំណឹងនេះនៅពេលវាអនុវត្ត។ គ្មានអ្វីផ្លាស់ប្តូរចំពោះ Node ផ្ទាល់ខ្លួនរបស់អ្នកឡើយ។
ទាក់ទង