قاعدة المعرفة

التطوير المحلي باستخدام zinnector dev

كيف يعمل zinnector dev على تشغيل موقع WordPress حقيقي على جهازك المحلي: بيئتا التشغيل (WebAssembly بدون Docker، أو PHP الأصلي في Docker)، واختيار إصدار PHP وWordPress، وما يتم خدمته من مشروعك، وأين توجد بيئة التشغيل بحجم 570 ميجابايت، وما يحدث على Node 26.

يقوم zinnector dev بتشغيل موقع WordPress حقيقي على جهازك الخاص، ليعرض الإضافات والقوالب في مشروعك، مع إصدار PHP الذي تختاره. تشرح هذه المقالة بيئتي التشغيل اللتين يمكنه استخدامهما، وكيفية اختيار الإصدارات، وما يتم عرضه من أين، وأين تعيش بيئة التشغيل على القرص — ليكون ما تختبره محلياً هو ما تقوم بنشره.

بيئتا التشغيل، ولماذا كلاهما حقيقيتان

Playground هو الخيار الافتراضي. يقوم WordPress Playground بترجمة PHP إلى WebAssembly وتشغيلها داخل Node، لذا فإن جهاز لاب توب لا يتم تثبيت أي شيء عليه سوى Node يقوم بإقلاع موقع WordPress في ثوانٍ. يتوفر أي إصدار PHP من 5.2 إلى 8.5. وهي تحمل مجموعة صغيرة من امتدادات PHP (intl وredis وmemcached كما تم قياسها على الإصدار الحالي)، وهو ما يكفي لمعظم أعمال الإضافات والقوالب.

Docker يشغل حاويات php-fpm الأصلية وMariaDB. وهو أبطأ، ويحتاج إلى برنامج خفي لـ Docker وحوالي 1.2 جيجابايت من الحافظات، ويدعم PHP من 7.4 إلى 8.5 — ولكنه يشغل 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)، حتى يعمل كل شخص في المشروع بنفس الإصدارات. تتفوق العلامة الموجودة على سطر الأوامر على الملف لتلك التشغيلة.

الإصدار الذي تعلنه والإصدار الذي يعمل هما حقيقتان مختلفتان. يقوم zinnector dev --once بإقلاع بيئة التشغيل، وطباعة ما تبلغ عنه بالفعل — إصدار PHP، وإصدار WordPress، والامتدادات المحملة — ويتوقف. يستخدم zinnector check --probe نفس القياس عند مقارنة مشروعك بفتحة استضافة.

ما يتم عرضه من مشروعك

تقوم بيئة التشغيل بتحميل أدلة المشروع wp-content/plugins وwp-content/themes وwp-content/mu-plugins مباشرة، بحيث يكون الملف الذي تحففظه مباشراً عند إعادة التحميل التالية. يتم عمداً عدم تحميل الأدلة الموجودة التي لا تحتوى على محتوى حقيقي: دليل themes/ فارغ يتم تحميله فوق قوالب بيئة التشغيل الخاصة سيترك موقع WordPress بدون أي قالب على الإطلاق، وهو خطأ 500 فارغ بدلاً من موقعك. ولهذا السبب يحافظ السقالات (scaffold) على الأدلة الفارغة مع ملف .gitkeep ولماذا لا تحجب أي شيء حتى تضع غالباً فيها.

أين تعيش بيئة التشغيل

يتم تنزيل بيئة تشغيل WordPress عند الاستخدام الأول بدلاً من شحنها مع واجهة سطر الأوامر (CLI) — الحزمة التي تحمل كل إصدار PHP تبلغ حوالي 570 ميجابايت، والمطور الذي يسرد المواقع فقط يجب ألا يدفع ثمنها. يتم الاحتفاظ بها في ذاكرة التخزين المؤقت الخاصة بـ Zinnector®، وهي ~/.cache/zinnector/runtimes/playground/<version> (أو أينما تشير ZINNECTOR_CACHE_DIR)، وليست أبداً في مشروعك، لذلك لا يمكن أن تنتهي في مستودعك أو في الشجرة التي يقيسها zinnector push. يتم إجراء التنزيل بواسطة npm الخاص بك، ويتم تشغيله كـ node npm-cli.js — وليس من خلال غلاف (shell) أبداً.

يتم تثبيت إصدار بيئة التشغيل على إصدار واجهة سطر الأوامر (CLI)، بحيث يقوم مطوران على مشروع واحد بتشغيل نفس إصدارات PHP. يقوم zinnector dev --reset-runtime بالتخلص من بيئة التشغيل المثبتة وتثبيتها مرة أخرى، وهو الإصلاح لبيئة تشغيل تم تثبيتها ولكنها لن تقوم بالاقلاع.

على Node 26 أو الأحدث

تعمل واجهة سطر الأوامر (CLI) نفسها على أي إصدار Node من 24 فصاعداً. ومع ذلك، فإن الوحدة النمطية الأصلية لبيئة التشغيل تشحن الثنائيات مسبقة البناء فقط لـ Node 24 و25 (اعتباراً من سبتمبر 2026). بدلاً من تجميع أي شيء — والذي يعني على نظام Windows تثبيت Visual Studio — يجلب Zinnector® إصدار Node 24 لبيئة التشغيل وحدها، بحوالي 30 ميجابايت، تم التحقق منها مقابل مجاميع التدقيق (checksums) التي ينشرها موقع nodejs.org، في نفس ذاكرة التخزين المؤقت. تقول مطالبات التثبيت ذلك عند تطبيقها. لا يتغير أي شيء بشأن Node الخاص بك.

ذات صلة

ما زلت تواجه مشكلة؟

الدعم مشمول في كل باقة والإجابات بلغتك الخاصة.

الاتصال بالدعم جميع المقالات