اوبونتوسرور مجازیسیستم عامل لینوکسمقالات وب

چگونه بر روی اوبونتو ۱۶٫۰۴ /۱۷٫۱۰ نسخه های متعدد PHP را نصب کنیم؟

در این مقاله قصد داریم نحوه نصب نسخه های متعدد PHP بر روی اوبونتو ۱۶٫۰۴ و ابونتو ۱۷٫۱۰ را با هم مرور کنیم. اینکار زمانی مفید خواهد بود که اپلیکیشن وب متعددی بر روی سرور مجازی خود دارید اما یک یا دو مورد از آن ها با نسخه PHP پیش فرضی که بر روی ابونتو نصب است سازگار نیست.  مخزن اوبونتو ۱۶٫۰۴ و ابونتو ۱۷٫۱۰ در برگیرنده   PHP 7.1است. در ادامه به شما نشان خواهیم داد که چگونه می توانید PHP5.6 ، PHP 7.0 ، PHP7.1  و PHP7.2 را بر روی سرور مجازی که سیستم  عامل آن اوبونتوست نصب کنید. پس همراه وب ایده باشید.

 نصب نسخه های متعدد PHP بر روی اوبونتو از طریق PPA:

شاید بتوان گفت راحت ترین روش برای نصب نسخه های متعدد PHP، استفاده از PPA است. برای اضافه کردن این PPA در ترمینال خود دستور زیر را اجرا کنید. پکیج software-properties-common اگر بخواهید نرم افزار را از PPA نصب کنید نیاز خواهد بود. ممکن است این گزینه به صورت خودکار بر روی  دسکتاپ اوبونتو نصب شده باشد اما سرور شما آن را نداشته باشد.

sudo apt install software-properties-common

sudo add-apt-repository ppa:ondrej/php

 

sudo apt update

خوب حالا می توانید PHP7.2 را با اجرای دستور زیر بر روی ابونتوی ۱۶٫۰۴ و ابونتوی ۱۷٫۱۰ نصب کنید:

sudo apt install php7.2 php7.2-fpm

به کمک دستورات زیر می توانید برخی از اکستنشن های رایج PHP7.2 را هم نصب کنید:

sudo apt install php7.2-mysql php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl

با تایپ sudo apt install php7.2 و فشار دادن  دو مرتبه ی دکمه TAB  ، می توانید تمامی اکستنشن های موجود را مشاهده کنید. برای نصب PHP7.1 بر روی اوبونتو  دستور زیر را اجرا کنید:

 

sudo apt install php7.1 php7.1-fpm

حالا به کمک دستورات زیر برخی از اکستنشن های رایج PHP7.1 را هم نصب کنید:

sudo apt install php7.1-mysql php7.1-mbstring php7.1-xml php7.1-gd php7.1-curl

اگر دوست داشتید می توانید PHP7.0 و PHP5.6 را به همین روش نصب کنید. فقط کافیست نسخه مدنظر خود را در دستورات بالا جایگزین نمایید.

 تعویض بین نسخه های PHP در Apache Virtual Host:

به طور پیش فرض، آپاچی از یک نسخه PHP در تمامی ویرچوال هاست های خود استفاده می کند. اگر می خواهید در یک ویرچوال هاست خاص از نسخه متفاوتی استفاده کنید باید ماژول Apache PHP را غیر فعال کنید و کد PHP را از طریق PHP-FPM اجرا نمایید. ببینید mod_php نصب شده است یا خیر.

 

dpkg -l | grep libapache2-mod-php

اگر نصب بود باید آن را غیر فعال کنید. به عنوان مثال، من بر روی ابونتوی ۱۷٫۱۰ خود libapache2-mod-php7.1 را به صورت نصب شده دارم.

 

با اجرای دستور زیر می توان ان را غیر فعال کرد:

sudo a2dismod php7.1

همچنین باید ماژول prefork MPM را نیز غیر فعال کنید:

sudo a2dismod mpm_prefork

خوب حالا باید دستور زیر را اجرا کنید تا سه ماژول را به منظور استفاده از PHP-FPM فعال نمایید:

sudo a2enmod mpm_event proxy_fcgi setenvif

به خاطر داشته باشید که اسنیپت پیکربندی PHP-FPM در /etc/apache2/conf-available/ واقع شده است.

فرض کنید بر روی ویرچوال هاست وردپرس خود می خواهید از نسخه PHP7.2 استفاده کنید.هر چیزی را در php7.2-fpm.conf کپی کنید و آن را در فایل پیکربندی ویرچوال هاست وردپرس خود بین تگ های<VirtualHost> پیست نمایید.

فایل را ذخیره کرده و ببندید. آپاچی را ریستارت کنید تا تغییرات ایجاد شده اعمال شود.

sudo systemctl restart apache2

فرض کنید می خواهید PHP7.1 را در ویرچوال هاست Mautic نصب کنید. کافیست هر چیزی را در php7.1-fpm.conf کپی کنید و آن را در ویرچوال هاست Mautic بین تگ های  <VirtualHost> پیست نمایید و آپاچی را ریستارت کنید.

برای اینکه ببینید چه نسخه ای از PHP توسط ویرچوال هاست مورد استفاده قرار می گیرد می توانید فایل info.php را در document root ایجاد کنید:

sudo nano /var/www/html/info.php

دستور زیر را در فایل پیست کنید:

<?php phpinfo(); ?>

فایل را ذخیره کنید و ببندید. سپس در نوار مرورگر  عبارت زیر را تایپ کنید:

your-domain.com/info.php

تعویض بین نسخه های PHP در Nginx Server Block:

همانطور که می دانید Nginx کدهای PHP را از طریق PHP-FPM اجرا می کند که بر روی سوکت یونیکس listen می کند. فایل سوکت در دایرکتوری/run/php/ قرار دارد.

فایل Nginx server block شما معمولا اسنیپت های زیر را برای متصل شدن به سرور PHP-FPM دارد.

 

location ~ \.php$ {

    fastcgi_pass unix:/run/php/php5.6-fpm.sock;

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    include fastcgi_params;

    include snippets/fastcgi-php.conf;

  }

نسخه PHP ای که توسط Nginx مورد استفاده قرار می گیرد توسط خط دوم اسنیپت مشخص می شود. برای استفاده از PHP7.2 در Nginx server block خاص، آن خط را به صورت زیر تغییر دهید:

fastcgi_pass unix:/run/php/php7.2-fpm.sock;

برای استفاده از PHP7.0 می توانید آن خط را بدین صورت تغییر دهید:

fastcgi_pass unix:/run/php/php7.0-fpm.sock;

خوب حالا فایل خود را ذخیره کرده و ببندید. سپس Nginx را دوباره بارگزاری کنید تا تغییرات ایجاد شده اعمال گردد:

sudo systemctl reload nginx

امیدوارم از این آموزش لذت برده باشید. نظرات خود را در بخش دیدگاه ها با ما در میان بگذارید.

چگونه بر روی اوبونتو ۱۶٫۰۴ /۱۷٫۱۰ نسخه های متعدد PHP را نصب کنیم؟
امتیاز دهید
برچسب ها

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

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

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

بستن