استفاده هم‌ زمان از چند نسخه php در لینوکس

یکی از مشکلاتی که مدیران سرورهای هاستینگ با آن روبرو می‌شوند، تغییر نسخه PHP در دایرکت ادمین است. امروز ما قصد داریم در کیمیا هاست آموزش دهیم که چطور روی سرور دایرکت ادمین خود نسخه PHP مورد استفاده را تغییر دهید

تغییر نسخه PHP و انتخاب نسخه مناسب و منعطف برای هر برنامه‌نویسی اهمیت دارد. PHP یکی از زبان‌های برنامه‌نویسی محبوب‌ وب است که بیش از ۷۸درصد از وب‌سایت‌ها با آن راه‌اندازی شده‌اند. PHP نیز همانند سایر زبان‌های برنامه‌نویسی دائماً در حال به‌روزرسانی است و نسخه‌های مختلف آن در وب‌سایت‌ها استفاده می‌شود.در این مقاله چند نسخه php در لینوکس را هم میگوئیم.

انتخاب نسخه 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 را در سرور لینوکسی خود فراهم کنید

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

خروج از نسخه موبایل