تغییر نسخه 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 را در سرور لینوکسی خود فراهم کنید
در صورتی که سؤالی دارید و یا نکتهای خواستید اضافه کنید خوشحال میشویم در بخش نظرات آن را با ما مطرح کنید