إدارة إصدارات مختلفة من PHP أمر بالغ الأهمية للمطورين الذين يحتاجون إلى التوافق عبر مشاريع متعددة. يسهل AlmaLinux 9، بالاشتراك مع Virtualmin/Webmin، تثبيت إصدارات متعددة من PHP. في هذا الدليل، سنرشدك خلال عملية تثبيت PHP 8.1 و 8.2 خطوة بخطوة، وإدارة التكوينات، وحل المشكلات الشائعة. بنهاية هذا البرنامج التعليمي، ستكون قد قمت بتشغيل كلا الإصدارين من PHP على نظام AlmaLinux 9 الخاص بك، مما يضمن مرونة لتطبيقاتك.
ما هو PHP ولماذا قد تحتاج إلى إصدارات متعددة
PHP هي لغة برمجة شائعة تستخدم لبناء مواقع ويب ديناميكية. تتطلب التطبيقات المختلفة إصدارات مختلفة من PHP بسبب أسباب التوافق. يتيح لك تثبيت كل من PHP 8.1 و 8.2 على AlmaLinux 9 تشغيل مشاريع متعددة تتطلب إصدارات مختلفة من PHP على نفس الخادم، كلها مدارة بواسطة Virtualmin/Webmin.
المتطلبات الأساسية
- خادم AlmaLinux 9 مع صلاحيات الجذر أو الوصول إلى sudo
- تثبيت Virtualmin/Webmin على الخادم الخاص بك
- الوصول إلى مستودع Remi لتثبيت إصدارات PHP
عملية التثبيت خطوة بخطوة
الخطوة 1: تفعيل مستودع Remi
sudo dnf install epel-release -y
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm -y
الخطوة 2: تفعيل PHP 8.1 و PHP 8.2
بعد ذلك، قم بتفعيل الوحدات لكل من PHP 8.1 و PHP 8.2:
sudo dnf module enable php:remi-8.1 -y
sudo dnf module enable php:remi-8.2 -y
الخطوة 3: تثبيت PHP 8.1 و PHP 8.2
الآن قم بتثبيت الإصدارات المطلوبة من PHP بالإضافة إلى الإضافات الشائعة الاستخدام:
تثبيت PHP 8.1:
sudo dnf install php81 php81-php php81-php-cli php81-php-fpm php81-php-mysqlnd php81-php-xml php81-php-mbstring php81-php-gd php81-php-opcache
تثبيت PHP 8.2:
sudo dnf install php82 php82-php php82-php-cli php82-php-fpm php82-php-mysqlnd php82-php-xml php82-php-mbstring php82-php-gd php82-php-opcache
الخطوة 4: تكوين Apache لإصدارات PHP
لتشغيل كلا الإصدارين من PHP على خادمك، تحتاج إلى تكوين Apache للعمل مع PHP-FPM. لكل مضيف افتراضي، قم بتحديد الإصدار الصحيح من PHP:
تكوين PHP 8.1:
قم بتحرير تكوين Apache الخاص بك وأضف:
SetHandler "proxy:unix:/var/run/php81-php-fpm.sock|fcgi://localhost/"
تكوين PHP 8.2:
قم بتحرير التكوين لـ PHP 8.2:
SetHandler "proxy:unix:/var/run/php82-php-fpm.sock|fcgi://localhost/"
الخطوة 5: إعادة تشغيل خدمات Apache و PHP-FPM
بعد إجراء التكوينات، قم بإعادة تشغيل خدمات Apache و PHP-FPM:
sudo systemctl restart httpd
sudo systemctl restart php-fpm
استكشاف المشكلات الشائعة وإصلاحها
المشكلة: عدم اكتشاف إصدار PHP
إذا لم يكتشف Apache الإصدار الصحيح من PHP لمضيف افتراضي، تأكد من أن PHP-FPM يعمل ومُكون بشكل صحيح:
sudo systemctl status php81-php-fpm
sudo systemctl status php82-php-fpm
المشكلة: عدم تحميل وحدات PHP
إذا لم تُحمل بعض وحدات PHP، تحقق من تثبيتها:
sudo dnf list installed | grep php
إذا كانت هناك وحدة مفقودة، قم بتثبيتها باستخدام:
sudo dnf install php81-php-module-name
sudo dnf install php82-php-module-name
التحقق من إصدارات PHP
قم بإنشاء ملف phpinfo.php في الدليل الجذر لموقع الويب الخاص بك للتحقق من الإصدار النشط:
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
ثم قم بالانتقال إلى http://your-domain.com/info.php لعرض الإصدار النشط من PHP.
من خلال اتباع الخطوات الموضحة أعلاه، يجب أن يكون لديك كلا الإصدارين من PHP 8.1 و PHP 8.2 مثبتين ويعملان على AlmaLinux 9، مما يتيح لك استضافة مواقع متعددة بمتطلبات PHP مختلفة على نفس الخادم.