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

التطوير المحلي باستخدام 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 فارغة بدلاً من موقعكم. ولهذا السبب يحتفظ الهيكل الأساسي بالأدلة الفارغة باستخدام .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). وبدلاً من ترجمة أي شيء برمجياً — وهو ما يتطلب تثبيت Visual Studio على Windows — تقوم Zinnector® بجلب إصدار Node 24 لبيئة التشغيل وحدها، بحجم حوالي 30 ميغابايت، والتحقق منه مقابل المجاميع الاختبارية (checksums) التي ينشرها nodejs.org، وحفظه في الذاكرة المؤقتة نفسها. توضح رسالة التثبيت ذلك عند انطباق هذه الحالة. ولا يطرأ أي تغيير على إصدار Node الخاص بكم.

مواضيع ذات صلة

جميع مستندات المطورين →

الأحدث من المدونة

ما كتبناه حول الاستضافة، وتحسين محركات البحث (SEO)، وإدارة المواقع على نطاق واسع.

تحسين محركات البحث وبناء الروابط من طبقة الاستضافة: رؤية المشغل لعام 2026

كيف تؤثر الاستضافة على الفهرسة وقيمة الروابط في عام 2026: الحفاظ على فهرسة الصفحات، وفحص النطاقات القديمة قبل البناء عليها، وبناء الروابط دون ترك أثر لمحركات البحث، ونظرة صادقة حول ما يمكن للبنية التحتية تقديمه لتهيئة محركات البحث (SEO) وما لا يمكنها فعله.

قراءة المنشور ←

جعل WordPress سريعًا وآمنًا: قائمة تحقق للأداء والمكونات الإضافية

قائمة تحقق عملية للحصول على WordPress سريع وآمن: التخزين المؤقت على مستوى الخادم، وذاكرة تخزين مؤقت للكائنات لكل موقع، ومجموعة المكونات الإضافية القليلة التي تستحق التشغيل، والحفاظ على حداثة الحزمة البرمجية، وصفحات WooCommerce التي يجب ألا تخزنها مؤقتًا أبدًا.

قراءة المنشور ←

كيف تختار استضافة ويب مدارة في عام 2026: دليل المشتري

ما الذي يميز فعلياً الاستضافة المدارة الجيدة عن خادم رخيص مع لوحة تحكم — عمليات النقل، والنسخ الاحتياطي، والعزل، والتخزين المؤقت الحقيقي، وقابلية التوسع الصادقة — وكيفية الحكم عليها قبل الالتزام.

قراءة المنشور ←

اقرأ المدونة ←

ما زلت عالقًا؟

الدعم مشمول في كل خطة، ومكتب الدعم مفتوح 24 ساعة في اليوم، ويمكنك مراسلتنا بأي لغة من لغاتنا البالغ عددها 58 لغة — وسنرد عليك بلغتك.

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