دليل تكوين بيئات ServBay المتعددة: إدارة إصدار PHP من خلال سطر الأوامر وخدمات الويب
1. بيئة سطر الأوامر: تطبيق عميق لملف .servbay.config
من خلال ملف التكوين على مستوى المشروع .servbay.config
، يمكن للمطورين التحكم بدقة في إصدار PHP في بيئة سطر الأوامر، مما يعزز تطوير مشاريع متعددة بالتوازي وعزل الإصدارات.
1. الوظائف الأساسية والمبدأ
• تعايش الإصدارات المتعددة: يدعم ServBay التعايش الكامل لجميع الإصدارات من PHP 5.6 إلى 8.5-dev، حيث يتم تعيين كل مشروع من خلال ملف تكوين مستقل للإصدار المطلوب.
• التبديل غير المتداخل: عند تنفيذ الأوامر، يتعرف ServBay تلقائيًا على ملف .servbay.config
الموجود في دليل المشروع، ويقوم بتحميل بيئة PHP المناسبة ديناميكيًا، مما يتجنب تصادم التكوينات العالمية.
2. طرق التكوين
قم بإنشاء ملف .servbay.config
في دليل المشروع الجذري، وأضف المحتويات التالية:
# تحديد إصدار PHP (مثال: PHP 8.5-dev)
PHP_VERSION=8.5
2
التحقق من السريان:
$ php -v # يجب أن تكون النسخة المعروضة 8.5
$ composer install # تحليل التبعية يعتمد على إصدار PHP الحالي
2
3. تقنيات متقدمة وحدود
• فحص توافق الإصدارات: إذا صادفت خطأ مثل "Class not found"، يجب التحقق من توافق الحزم المعتمدة مع إصدار PHP المحدد (مثل إزالة الامتداد mcrypt
في PHP 8.x).
• القيم الافتراضية العالمية: عند عدم التكوين، سيتم استخدام إصدار ServBay الافتراضي العالمي (يمكن تعديله من خلال إعدادات ServBay).
• التعاون بين الخدمات المتعددة: بالتنسيق مع تكوين إصدار Node.js (NODE_VERSION=20
)، يمكن التحكم في بيئة PHP وNode.js معًا.
4. أمثلة العمليات
فيما يلي مثال عملي يوضح آلية عمل .servbay.config
.
2. بيئة خدمات الويب: إدارة إصدار PHP على مستوى الموقع
توفر واجهة تكوين الموقع الرسومية في ServBay القدرة على إدارة إصدار PHP لخدمات الويب، بشكل مستقل عن بيئة سطر الأوامر.
1. عملية التكوين
إضافة/تحرير موقع:
• افتح ServBay، وانتقل إلى علامة تبويب Hosts (المواقع).
• انقر على + لإنشاء موقع جديد أو تعديل موقع موجود.
• اختر الإصدار المستهدف من قائمة PHP Version المنسدلة (مثل 8.3، 8.5-dev، إلخ).ربط المسارات بالنطاق:
• الدليل الجذري: حدد الدليل العام للمشروع (مثل/Applications/ServBay/www/laravel-app/public
لخدمات Laravel).
• النطاق: قم بتعيين اسم نطاق مخصص (مثلlaravel.host
)، مع دعم إصدار تلقائي لشهادات HTTPS.
2. التنفيذ الفني والتحسين
• عزل الخدمات: يتم تشغيل كل إصدار من PHP في عملية مستقلة، مما يتجنب تسرب الذاكرة بين الإصدارات.
• تحسين الأداء: تم تحسينها لمعمارية ARM64/X86_64.
• تحري الأخطاء:
• تحقق من السجلات: /Applications/ServBay/var/log/php/php_error.log
• استخدم servbayctl status php 8.5
لعرض حالة العملية.
3. التوسع عبر الخوادم
• دعم Apache/Nginx/Caddy: يمكن التبديل بين خوادم الويب في ServBay 1.7.0+ .
• التفاعل مع قاعدة البيانات: الجمع بين إصدارات MySQL/MariaDB/PostgreSQL المتعددة (مثل توافق مشروع Laravel مع MariaDB 11.5).
3. أفضل الممارسات للتعاون عبر البيئات
السيناريو | تكوين سطر الأوامر | تكوين خدمات الويب | |
---|---|---|---|
صيانة الأنظمة القديمة | .servbay.config تعيين PHP 5.6 | تكوين الموقع اختيار PHP 5.6 | |
تطوير Laravel 11 | تكوين PHP 8.3 + Node 20 | ربط النطاق وتفعيل HTTPS | |
اختبار الإصدارات الجديدة | استخدام PHP 8.5-dev | مع تحسين التخزين المؤقت Redis 7.x |
ملاحظات:
• قد تختلف وحدات PHP في سطر الأوامر عن خدمات الويب (مثل تعطيل opcache
بشكل افتراضي في وضع CLI).
• قم بتحديث ServBay Runtime إلى 1.0.20/1.1.20+ للحصول على أحدث ميزات PHP.
من خلال إدارة المشاهدات المذكورة أعلاه، يمكن للمطورين الاستفادة القصوى من قدرة ServBay على التحكم في الإصدارات المتعددة، مع الحفاظ على المرونة في التنمية والتوافق في بيئة الإنتاج.