استخدام إصدارات PHP مختلفة لكل مجلد باستخدام suPHP يتطلب تكوين خادم الويب الخاص بك لمعالجة سكربتات PHP بإصدارات مختلفة استنادًا إلى المجلد الذي يقع فيه السكربت. إليك دليل خطوة بخطوة لتحقيق ذلك:
تثبيت وتكوين إصدارات متعددة من PHP:
أولاً، تحتاج إلى تثبيت إصدارات متعددة من PHP على الخادم الخاص بك. يمكنك فعل ذلك باستخدام أدوات مثل phpbrew أو عن طريق تثبيت إصدارات PHP مختلفة مباشرة.
تكوين suPHP:
قم بتعديل تكوين suPHP لتحديد إصدار PHP المطلوب لكل مجلد. عادةً ما يتم ذلك في ملف تكوين مثل suphp.conf
أو ملف تكوين مشابه.
مثال (suphp.conf):
<IfModule mod_suphp.c>
AddType application/x-httpd-php5 .php
suPHP_AddHandler application/x-httpd-php5
<Directory /path/to/directory1>
suPHP_Engine on
suPHP_AddHandler application/x-httpd-php5
suPHP_PHPPath /path/to/php5
</Directory>
<Directory /path/to/directory2>
suPHP_Engine on
suPHP_AddHandler application/x-httpd-php7
suPHP_PHPPath /path/to/php7
</Directory>
</IfModule>
في هذا المثال، ستتم معالجة الطلبات إلى /path/to/directory1
باستخدام PHP 5، بينما ستتم معالجة الطلبات إلى /path/to/directory2
باستخدام PHP 7.
ضبط الأذونات:
تأكد من أن الملفات والمجلدات في كل مجلد لديها الأذونات الصحيحة للإصدار الخاص بـ PHP الذي سيتم تنفيذه معه.
إعادة تشغيل Apache أو خادم الويب:
بعد إجراء التغييرات على التكوين، يجب إعادة تشغيل خادم الويب الخاص بك لتطبيق الإعدادات الجديدة.
التحقق من التكوين:
أنشئ ملفات PHP بسيطة في كل من المجلدات (مثل directory1/index.php
و directory2/index.php
) تحتوي على دالة phpinfo()
لتأكيد أنها تستخدم الإصدارات الصحيحة من PHP.
اختبار الإعداد:
افتح الملفات PHP التي أنشأتها في كلا المجلدين من خلال متصفح الويب. تحقق من أنها تعرض معلومات PHP التي تتوافق مع الإصدارات الخاصة بها.
المراقبة واستكشاف الأخطاء:
راقب النظام الخاص بك للتأكد من أن سكربتات PHP تعمل بالإصدارات الصحيحة. إذا ظهرت أي مشاكل، تحقق من السجلات وراجع التكوين الخاص بك.
يرجى ملاحظة أن suPHP قديم نسبيًا ولم يعد يتم صيانته بنشاط. من المستحسن عمومًا استخدام بدائل مثل PHP-FPM أو تقنيات مشابهة لإصدارات PHP الحديثة.
تذكر دائمًا عمل نسخة احتياطية من التكوينات والملفات قبل إجراء أي تغييرات، خاصة إذا كنت تعمل على خادم الإنتاج. بهذه الطريقة، يمكنك الرجوع بسهولة إذا حدث أي خطأ أثناء عملية الإعداد.