មូលដ្ឋានចំណេះដឹង
ការអភិវឌ្ឍក្នុងស្រុកជាមួយ zinnector dev
វិធីដែល zinnector dev ដំណើរការ WordPress ពិតប្រាកដនៅលើម៉ាស៊ីនផ្ទាល់របស់អ្នក៖ រាន់ថាម (run-times) ទាំងពីរ (WebAssembly ដោយគ្មាន Docker, ឬ PHP ប្រភេទ native ក្នុង Docker), ការជ្រើសរើសកំណែ PHP និង WordPress, អ្វីដែលត្រូវបានដំណើរការពីប្រចៀក (project) របស់អ្នក, កន្លែងដែលរាន់ថាម (run-time) ទំហំ 570 MB ស្ថិតនៅ, និងអ្វីដែលកើតឡើងនៅលើ Node 26។
zinnector dev ដំណើរការ WordPress ពិតប្រាកដនៅលើម៉ាស៊ីនផ្ទាល់ខ្លួនរបស់លោកអ្នក ដោយបម្រើកម្មវិធីបន្ថែម (plugins) និងរូបរាង (themes) នៅក្នុងគម្រោងរបស់លោកអ្នក ជាមួយនឹងកំណែ PHP ដែលលោកអ្នកជ្រើសរើស។ អត្ថបទនេះពន្យល់អំពីបរិស្ថានដំណើរការ (runtimes) ទាំងពីរដែលវាអាចប្រើប្រាស់ របៀបជ្រើសរើសកំណែ អ្វីដែលត្រូវបានបម្រើចេញពីទីណា និងកន្លែងដែលបរិស្ថានដំណើរការស្ថិតនៅលើឌីស — ដើម្បីឱ្យអ្វីដែលលោកអ្នកធ្វើតេស្តនៅលើយន្តការក្នុងស្រុក ជាអ្វីដែលលោកអ្នកដាក់ឱ្យដំណើរការ (deploy)។
បរិស្ថានដំណើរការទាំងពីរ និងមូលហេតុដែលទាំងពីរសុទ្ធតែជាការកំណត់ពិតប្រាកដ
Playground គឺជាជម្រើសដើម។ WordPress Playground បំប្លែង PHP ទៅជា WebAssembly និងដំណើរការវានៅក្នុង Node ដូច្នេះកុំព្យូទ័រយួរដៃដែលមិនមានដំឡើងអ្វីសោះក្រៅពី Node អាចចាប់ផ្តើម WordPress ក្នុងរយៈពេលប៉ុន្មានវិនាទី។ កំណែ PHP ណាមួយចាប់ពី 5.2 ដល់ 8.5 គឺអាចប្រើប្រាស់បាន។ វាមានបន្ថែមនូវផ្នែកបន្ថែម PHP (PHP extensions) មួយចំនួនតូច (intl, redis, memcached ដូចដែលបានវាស់វែងលើកំណែបច្ចុប្បន្ន) ដែលគ្រប់គ្រាន់សម្រាប់ការងារកម្មវិធីបន្ថែម និងរូបរាងភាគច្រើន។
Docker ដំណើរការកុងតឺន័រ native php-fpm និង MariaDB។ វាមានល្បឿនយឺតជាង ទាមទារកម្មវិធី Docker daemon និងរូបភាព (images) ប្រហែល 1.2 GB ហើយគាំទ្រ PHP 7.4 ដល់ 8.5 — ប៉ុន្តែវាដំណើរការ native PHP ជាមួយនឹងសំណុំផ្នែកបន្ថែមពេញលេញ រួមទាំង 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 # បង្ហាញលទ្ធផលផ្ទាល់របស់បរិស្ថានដំណើរការ
តម្លៃដើមបានមកពី zinnector.json នៅក្នុងគម្រោង — php, wordpress, runtime និង port — ដែល zinnector new សរសេរ និងដែលលោកអ្នកគប្បី commit ដើម្បីឱ្យអ្នករាល់គ្នាក្នុងគម្រោងដំណើរការកំណែដូចគ្នា។ ទង់ (flag) នៅលើផ្ទាំងបញ្ជា (command line) នឹងមានអាទិភាពជាងឯកសារសម្រាប់ការដំណើរការនោះ។
កំណែដែលលោកអ្នក ប្រកាស និងកំណែដែល ដំណើរការ គឺជាព័ត៌មានខុសគ្នា។ zinnector dev --once ចាប់ផ្តើមបរិស្ថានដំណើរការ បង្ហាញអ្វីដែលវាប្រាយណែនាំពិតប្រាកដ — កំណែ PHP, កំណែ WordPress, ផ្នែកបន្ថែមដែលបានផ្ទុក — ហើយបញ្ឈប់។ zinnector check --probe ប្រើប្រាស់ការវាស់វែងដូចគ្នានេះ នៅពេលវាប្រៀបធៀបគម្រោងរបស់លោកអ្នកធៀបនឹងចន្លោះម៉ាស៊ីនបម្រើ (hosting slot)។
អ្វីដែលត្រូវបានបម្រើចេញពីគម្រោងរបស់លោកអ្នក
បរិស្ថានដំណើរការភ្ជាប់បញ្ជូនថត wp-content/plugins, wp-content/themes និង wp-content/mu-plugins នៃគម្រោងរបស់លោកអ្នកដោយផ្ទាល់ ដូច្នេះឯកសារដែលលោកអ្នករក្សាទុកនឹងមានប្រសិទ្ធភាពភ្លាមៗពេលផ្ទុកឡើងវិញបន្ទាប់។ ថតដែលមាន ប៉ុន្តែមិនមានមាតិកាពិតប្រាកដ គឺដោយចេតនា មិនត្រូវបាន ភ្ជាប់បញ្ជូននោះទេ៖ ថត themes/ ទទេដែលភ្ជាប់បញ្ជូនពីលើរូបរាងផ្ទាល់របស់បរិស្ថានដំណើរការ នឹងធ្វើឱ្យ WordPress មិនមានរូបរាងទាល់តែសោះ ដែលបណ្តាលឱ្យចេញទំព័រទទេ 500 ជំនួសឱ្យគេហទំព័ររបស់លោកអ្នក។ នោះជាមូលហេតុដែលគ្រោងការណ៍រក្សាទុកថតទទេជាមួយ .gitkeep និងមូលហេតុដែលពួកវាមិនបាំងបាត់អ្វីទាំងអស់ រហូតដល់លោកអ្នកដាក់រូបរាងនៅក្នុងនោះ។
កន្លែងដែលបរិស្ថានដំណើរការស្ថិតនៅ
បរិស្ថានដំណើរការ WordPress ត្រូវបានទាញយកនៅពេលប្រើប្រាស់លើកដំបូង ជំនួសឱ្យការភ្ជាប់មកជាមួយ CLI — កញ្ចប់ដែលផ្ទុកការបង្កើត PHP នីមួយៗមានទំហំប្រហែល 570 MB ហើយអ្នកអភិវឌ្ឍន៍ដែលគ្រាន់តែបង្ហាញបញ្ជីគេហទំព័រ មិនគួរត្រូវចំណាយលើវាឡើយ។ វាត្រូវបានរក្សាទុកនៅក្នុងឃ្លាំងសម្ងាត់ផ្ទាល់របស់ Zinnector® គឺ ~/.cache/zinnector/runtimes/playground/<version> (ឬកន្លែងណាក៏ដោយដែល ZINNECTOR_CACHE_DIR ចង្អុលបង្ហាញ) ដោយមិនដែលស្ថិតនៅក្នុងគម្រោងរបស់លោកអ្នកឡើយ ដូច្នេះវាមិនអាចបញ្ចប់នៅក្នុងឃ្លាំងទិន្នន័យ (repository) របស់លោកអ្នក ឬនៅក្នុងរចនាសម្ព័ន្ធដើមឈើដែល zinnector push វាស់វែងនោះទេ។ ការទាញយកត្រូវបានធ្វើឡើងដោយ npm ផ្ទាល់ខ្លួនរបស់លោកអ្នក ដោយដំណើរការជា node npm-cli.js — មិនដែលធ្វើតាមរយៈ shell ឡើយ។
កំណែបរិស្ថានដំណើរការត្រូវបានភ្ជាប់ថេរទៅនឹងកំណែ CLI ដូច្នេះអ្នកអភិវឌ្ឍន៍ពីរនាក់លើគម្រោងតែមួយ ដំណើរការការបង្កើត PHP ដូចគ្នា។ zinnector dev --reset-runtime លុបចោលបរិស្ថានដំណើរការដែលបានដំឡើង និងដំឡើងវាឡើងវិញ ដែលជាដំណោះស្រាយសម្រាប់បរិស្ថានដំណើរការដែលបានដំឡើង ប៉ុន្តែមិនព្រមចាប់ផ្តើម។
លើ Node 26 ឬថ្មីជាងនេះ
CLI ខ្លួនឯងដំណើរការលើ Node ណាមួយចាប់ពី 24 ឡើងទៅ។ ទោះជាយ៉ាងណាក៏ដោយ ម៉ូឌុល native របស់បរិស្ថានដំណើរការ ផ្តល់ជូន prebuilt binaries សម្រាប់តែ Node 24 និង 25 ប៉ុណ្ណោះ (គិតត្រឹមខែកញ្ញា ឆ្នាំ 2026)។ ជំនួសឱ្យការបំប្លែងកូដ (compile) អ្វីមួយ — ដែលនៅលើ Windows មានន័យថាត្រូវដំឡើង Visual Studio — Zinnector® ទាញយក Node 24 សម្រាប់តែបរិស្ថានដំណើរការមួយប៉ុណ្ណោះ ដែលមានទំហំប្រហែល 30 MB ដោយបានផ្ទៀងផ្ទាត់ធៀបនឹង checksums ដែល nodejs.org ផ្សព្វផ្សាយ ទៅក្នុងឃ្លាំងសម្ងាត់ដដែល។ សាររំលឹកការដំឡើងនឹងប្រាប់អំពីការងារនេះនៅពេលវាអនុវត្ត។ មិនមានអ្វីផ្លាស់ប្តូរចំពោះ Node ផ្ទាល់ខ្លួនរបស់លោកអ្នកឡើយ។
មាតិកាទាក់ទង
នៅតែជាប់គាំងមែនទេ?
ការគាំទ្រត្រូវបានរួមបញ្ចូលនៅលើគ្រប់កញ្ចប់ទាំងអស់ និងការឆ្លើយតបជាភាសាផ្ទាល់ខ្លួនរបស់អ្នក។
ទំនាក់ទំនងផ្នែកជំនួយ → អត្ថបទទាំងអស់ →