zinnector dev ستاسو په خپل ماشین کې یو اصلي WordPress چلوي، ستاسو په پروژه کې پلګینونه او تیمونه وړاندې کوي، او د هغې PHP نسخې سره چې تاسو یې ټاکئ. دا مقاله هغه دوه رنټایمونه (runtimes) تشریح کوي چې دا یې کارولی شي، د نسخو د غوره کولو طریقه، څه شی له کوم ځای څخه وړاندې کېږي، او رنټایم په ډیسک کې چیرته پروت دی — ترڅو هغه څه چې تاسو یې په سیمه ییزه توګه ازمویئ، هماغه شی وي چې تاسو یې خپروئ (deploy).
دوه رنټایمونه، او ولې دواړه اصلي دي
Playground اصلي (ډیفالټ) حالت دی. د WordPress Playground پروګرام PHP په WebAssembly کې کمپایل کوي او د Node دننه یې چلوي، نو یو لپټاپ چې له Node پرته بل هیڅ شی پرې نصب نه وي، په څو ثانیو کې یو WordPress روښانه کوي. د 5.2 څخه تر 8.5 پورې هر PHP شتون لري. دا د PHP د اکستینشنونو یوه کوچنۍ ټولګه لري (لکه intl، redis، او memcached لکه څنګه چې په اوسني جوړښت کې اندازه شوي)، چې د ډیری پلګینونو او تیمونو د کار لپاره کافي ده.
Docker اصلي php-fpm او MariaDB کانټینرونه چلوي. دا ورو دی، یو Docker ډیمن او شاوخوا 1.2 GB ایمیجونو ته اړتیا لري، او د 7.4 څخه تر 8.5 پورې PHP ملاتړ کوي — مګر دا یو اصلي 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 # 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) د هماغه ځل چلولو لپاره د فایل په پرتله لومړیتوب لري.
هغه نسخه چې تاسو یې اعلان کوئ او هغه نسخه چې چلیږي مختلف حقیقتونه دي. zinnector dev --once رنټایم بوټ کوي، هغه څه چاپوي چې دا یې واقعاً راپور ورکوي — د PHP نسخه، د WordPress نسخه، بار شوي اکستینشنونه — او ودریږي. zinnector check --probe ورته اندازه کول کاروي کله چې دا ستاسو پروژه د کوربه توب (hosting) له یو سلاټ سره پرتله کوي.
څه شی ستاسو له پروژې څخه وړاندې کېږي
رنټایم ستاسو د پروژې wp-content/plugins، wp-content/themes او wp-content/mu-plugins ډایرکټرۍ په مستقیم ډول ماونټ (mount) کوي، نو هغه فایل چې تاسو یې خوندي کوئ په راتلونکي ریلوډ کې سمدلاسه کار کوي. هغه ډایرکټرۍ چې شتون لري مګر هیڅ اصلي مینځپانګه نلري په قصدي ډول نه ماونټ کیږي: یو خالي 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 په بڼه چلیږي — هیڅکله د یو شیل له لارې نه.
د رنټایم نسخه د CLI نسخې پورې تړلې ده، نو په یوه پروژه کې دوه پراختیا ورکوونکي د PHP ورته جوړښتونه چلوي. zinnector dev --reset-runtime نصب شوی رنټایم له منځه وړي او بیا یې نصبوي، چې دا د هغه رنټایم لپاره د حل لاره ده چې نصب شوی وي مګر بوټ نه کیږي.
په Node 26 یا نوي بڼه کې
پخپله CLI د 24 څخه پورته په هر Node چلیږي. په هرصورت، د رنټایم اصلي ماډل یوازې د Node 24 او 25 لپاره مخکې له مخکې جوړ شوي باینري وړاندې کوي (د سپټمبر 2026 پورې). د هر څه د کمپایل کولو پرځای — چې په Windows کې د Visual Studio نصبولو معنی لري — Zinnector® یوازې د رنټایم لپاره یو Node 24 راوړي، چې شاوخوا 30 MB دی، او د هغو چکسمونو (checksums) له مخې تصدیق شوی چې nodejs.org یې خپروي، په ورته کیش کې ساتل کیږي. کله چې دا پلي کیږي، د نصبولو پرامپټ دا څرګندوي. ستاسو په خپل Node کې هیڅ بدلون نه راځي.
اړوند