احمد نادری

توسعه دهنده فول استک

author
author

احمد نادری

توسعه دهنده فول استک

اجرای همزمان چند نسخه 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>

 

درباره من
  • سلام به وب سایت من خوش اومدید ! از سال 1388 که وارد دنیای برنامه نویسی شدم تجربیات خودم رو از پروژه های مختلف به دست آوردم و همیشه سعی کردم تا مهارت های فنی و رفتاری خودم رو ارتقا بدم تا بتونم برای خودم و سازمانی که در آن کار می کنم بهترین باشم . من عاشق یادگیری هستم و همیشه از چالش های جدید هیجان زده میشم چون اونارو کلید موفقیت و رشد خودم می دونم.
  • @ahmadnaderi01
arrow