اجرای همزمان چند نسخه php در سرور مجازی اوبونتو
بعضی اوقات پی شمیاد که ما چندین پروژه روی سرورمونداریم که از نسخه های مختلف php استفاده میکنند . مثلا ما یک پروژه لاراولی داریم که از php نسخه 8 استفاده میکنه و یک سایت وردپرسی که از php نسخه ۷.۴ استفاده میکنه .
شاید با خودتون بگید خب چه کاریه هر دورو ببریم روی مثلا نسخه ۸ ولی تا زمان نوشتن این مطلب و علارغم جستجوی زیاد نتونسم مشکل ionCube که برای سایت وردپرسی نیازه رو بر روی php نسخه۸ نصب کنم و خود سایت این پلاگین هم گفته که پشتیبانی نمیکنه از php 8 . خب خلاصه اینکه ما یا مجبوریم اون یکی پروژمون رو بیاریم روی نسخه های پایین تر مثل 7.4 یا اینکه همزمان هم نسخه 8 و هم نسخه 7.4 رو روی سرورمون فعال کنیم . برای اینکار( قبلا php 8 نصب بوده روی سرور ) :
sudo apt install libapache2-mod-fcgid sudo apt install software-properties-common -y sudo add-apt-repository ppa:ondrej/php && sudo apt update sudo apt-get install php7.4 php7.4-fpm php7.4-mysql libapache2-mod-php7.2 libapache2-mod-fcgid -y
خب با رفتن به آدرس/var/run/php/ میتونیم نسخه های php قابل اجرا شدن رو ببینیم . با دستورات زیر استارتش میکنیمو وضعیتشو بررسی میکنیم :
sudo systemctl start php7.4-fpm sudo systemctl status php7.4-fpm sudo a2enmod actions fcgid alias proxy_fcgi sudo systemctl restart apache2
خب حالا باید در فایل آپاچی پروژمون و پایین تر از دایرکتوری ها این قسمت رو اضافه میکنیم که پروژه با phpورژن 7.4 ران بشه :
<FilesMatch \.php> # Apache 2.4.10+ can proxy to unix socket SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/" </FilesMatch>