آموزش استفاده هم‌زمان از چند نسخه php در Centos 7

استفاده هم‌زمان از چند نسخه php در Centos 7استفاده هم‌زمان از چند نسخه php در Centos 7 یکی از خواسته های ضروری هر مدیر سروری جهت ارائه خدمات بهتر به کاربران خود است.

بسیار اتفاق می‌افتد که سیستم عامل سرور شما centos 7 باشد و بخواهید چند نرم‌افزار تحت وب نوشته شده با php روی آن راه‌اندازی کنید که هر کدام با نسخه خاصی از php سازگار هستند.

مثلاً بعضی از قالب‌های وردپرس با نسخه ۷٫۲ از زبان برنامه‌نویسی php سازگار نیستند و سایت مشتری یا خودتان بالا نخواهد آمد.

برای شروع کار شما باید مخازن و سرویس‌های موردنظر را نصب کنید.

نکته: دستورات لینوکس زیر با این پیش‌فرض که شما کاربر روت هستید اجرا می‌شوند و یا قبل از همه‌ی دستورات زیر sudo را اضافه می‌کنید.

 

استفاده هم‌زمان از چند نسخه php در Centos 7

yum install httpd -y
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install yum-utils -y
yum install php56 -y
yum install php72 -y
yum install php56-php-fpm -y
yum install php72-php-fpm -y

بعد از نصب سرویس‌ها ابتدا آن‌ها را متوقف کنید.

systemctl stop php56-php-fpm
systemctl stop php72-php-fpm

به صورت پیش‌فرض سرور شما به پورت ۹۰۰۰ هزار گوش فرا می‌دهد که باید آن را تغییر دهیم. ما از دستور قدرتمند sed برای جایگزینی شماره پورت استفاده کردیم.

sed -i 's/:9000/:9056/' /etc/opt/remi/php56/php-fpm.d/www.conf
sed -i 's/:9000/:9072/' /etc/opt/remi/php72/php-fpm.d/www.conf

اکنون دو نسخه هم‌زمان از php می‌تواند روی پورت‌های متفاوت به صورت هم‌زمان اجرا شوند حالا با دستورات زیر مجدد سرویس php را استارت می کنیم.

systemctl start php72-php-fpm
systemctl start php56-php-fpm

حال یک اسکریپت جهت فراخوانی php56-cgi و php72-cgi می‌نویسیم.

cat > /var/www/cgi-bin/php56.fcgi << EOF
#!/bin/bash
exec /bin/php56-cgi
EOF

cat > /var/www/cgi-bin/php72.fcgi << EOF
#!/bin/bash
exec /bin/php72-cgi
EOF

و حالا دسترسی اجرایی به فایلها را برای سرویس Apache را فراهم می کنیم.

sudo chmod 755 /var/www/cgi-bin/php56.fcgi
sudo chmod 755 /var/www/cgi-bin/php72.fcgi

حالا فایل کانفیگ php را برای وب سرور آپاچی می سازیم. به صورت پیش‌فرض php بر روی نسخه ۵٫۶ اجرا می‌شود.

cat > /etc/httpd/conf.d/php.conf << EOF
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
AddHandler php56-fcgi .php
Action php56-fcgi /cgi-bin/php56.fcgi
Action php72-fcgi /cgi-bin/php72.fcgi


    DirectoryIndex index.php
    AllowOverride all
    Require all granted


    DirectoryIndex index.php
    AllowOverride all
    Require all granted

EOF

ساخت صفحات تستی جهت تست نسخه‌های php با استفاده از فایل .htaccess:

mkdir -p /var/www/html/php56
mkdir -p /var/www/html/php72
echo "" > /var/www/html/php56/index.php
echo "" > /var/www/html/php72/index.php
echo "AddHandler php72-fcgi .php" > /var/www/html/php72/.htaccess

اکنون می‌توانیم صحت عملکرد هر یک از سرویسهای php را تست کنیم. برای تست نسخه php5.6 آدرس زیر را در مرورگر وارد نمایید:

http://127.0.0.1/php56

و برای تست نسخه php7.2 آدرس زیر را در مرورگر وارد نمایید:

http://127.0.0.1/php72

اگر می‌خواهید هنگام شروع به کار سرور یا سیستم centos سرویس‌های گفته شده به صورت اتوماتیک اجرا شوند کدهای زیر را در centos وارد نمایید.

sudo systemctl enable httpd
sudo systemctl enable php56-php-fpm
sudo systemctl enable php72-php-fpm

نکته مهم اینکه به صورت اتوماتیک سرور تشخیص نمی‌دهد که برنامه موردنظر با کدام نسخه php باید اجرا شود اگر همچین امکانی باشد خوشحال میشویم آن را در بخش نظرات مطرح کنید.

 برای اینکه تنظیم کنید این برنامه با کدام نسخه اجرا شود باید در فایل .htaccess دایرکتوری اجراکننده کدهای زیر نوشته شوند.

اگر می‌خواهید اسکریپت یا برنامه با php5.6 اجرا شود:

AddHandler php56-fcgi .php

اگر می‌خواهید اسکریپت یا برنامه با php7.2 اجرا شود:

AddHandler php72-fcgi .php

آموزش به پایان رسید. به همین راحتی می توانید امکان استفاده هم‌زمان از چند نسخه php را در سرور لینوکسی خود فراهم کنید.

در صورتی که سؤالی دارید و یا نکته‌ای خواستید اضافه کنید خوشحال می‌شویم در بخش نظرات آن را با ما مطرح کنید.

این آموزش مال شماست :  تغییر پورت mysql در لینوکس centos

حسین محمدپور

با علاقه زیادی که به مباحث تخصصی امنیت سرور داشتم از 8 سال پیش کار خود را در این زمینه شروع کردم و طی این مدت مدیر 2 تیم امنیتی بزرگ ایرانی بودم و حالا با 4 سال سابقه در زمینه مباحث مدیریت سرور و میزبانی وب، سایت مدیر سرور را راه اندازی کردم تا بتوانم به علاقه مندان و مشتاقان این حوزه تخصصی کمک کنم.

نوشته های مشابه

‫۲ نظرها

  1. سلام
    بسیار کاربردی و عالی بود
    در صورتی که بخوایم از سی پنل و موارد مشابه که هزینه های بالایی دارند یکی از احتیاجات ما رو که تغییر ورژن باشه برطرف می کنه.
    سرفراز باشید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

افزایش ترافیک سایت تا ۶۰۰% فقط در ۷ روز

تکنیک های جدید سئو در سال 98
تکنیک‌های کارآمدی که در سایت مدیر سرور آزموده شده‌اند
دنلود ویدیو
نگران نباشید، ایمیل مزاحم ارسال نمی کنیم
close-link