به طور پیشفرض apt install php نسخهای از php را برای ما نصب میکند که ممکن است با نیاز نرم افزار ما متناسب نباشد، یا نیاز به داشتن چند نسخه php داریم.
دستور زیر را در ترمینال وارد میکنیم :
apt show php
این دستور نسخه پیشفرض php که ربپازیتوری برای شما نصب میکند را نمایش میدهد، خروجی این دستور به صورت زیر است :
خب با دستور apt install php برای ما نسخه 8.1 نصب میشود. ولی اگر به نسخهی دیگری مانند 7.4 نیاز داشتیم باید چه کنیم؟
ابتدا باید ondrej/php ppa را روی سیستم ابونتور نصب کنیم :
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
ریپازیتورهای ابونتو را آپدیت میکنیم :
sudo apt update
اکنون نسخهای که نیاز داریم نصب میکنیم. توجه کنید میتوانیم چند نسخه مختلف را نصب کنیم :
sudo apt install php5.6
sudo apt install php7.0
sudo apt install php7.1
sudo apt install php7.2
sudo apt install php7.3
sudo apt install php7.4
sudo apt install php8.0
sudo apt install php8.1
sudo apt install php8.2
برای nginx :
sudo apt install php5.6-fpm
sudo apt install php7.0-fpm
sudo apt install php7.1-fpm
sudo apt install php7.2-fpm
sudo apt install php7.3-fpm
sudo apt install php7.4-fpm
sudo apt install php8.0-fpm
sudo apt install php8.1-fpm
sudo apt install php8.2-fpm
در صورتی که نیاز به نصب ماژولهای php8.2 (یا هر نسخه دیگری داشتید) فقط کافیست دستور زیر را در ترمینال وارد کنید سپس دکمه tab را فشار دهید:
sudo apt isntall php8.2
لیست ماژولهایی که میتوانید نصب کنید برای شما نمایش میدهد :
دقت کنید بجای دکمه enter دکمه tab را وارد کنید
برای نصب یک ریپازیتوری مانند php8.2-zip کافیست دستور
sudo apt install php8.2-zip
را وارد کنید.
ما میتوانیم چند نسخه php را نصب کنیم. اما برای اینکه یک نسخه را پیشفرض سیستم عامل در نظر بگیریم کافیست دستور زیر را وارد کنیم :
sudo update-alternatives --set php /usr/bin/php8.2
بجای 8.2 نسخه مورد نظر خود را قرار میدهیم.
برای فعال کردن نسخه خاص برای آپاچی ابتدا نسخه ای که آپاچی در حال حاضر از آن استفاده میکند را غیرفعال میکنم
sudo a2dismod php8.1
سپس نسخه مورد نظر خود را برای آپاچی فعال میکنیم :
sudo a2enmod php8.2
اگر از وب سرور آپاچی استفاده میکنید کافیست برای هر دایرکتوری نسخه php را در فایل htaccess آن دایرکتوری تعیین کنیم. در مثال زیر ابتدا نسخه ۷.۱ پی اچ پی را نصب کرده سپس در فایل htaccess تعیین میکنیم که دستورات php با php نسخه ۷.۱ اجرا شوند.
#htaccess config ...
SetHandler "proxy:unix:/var/run/php/php7.1-fpm.sock|fcgi://localhost/"