Menu

Debian – wiele wersji php (fpm)

27 sierpnia 2019 - IT, Linux
Debian – wiele wersji php (fpm)

Czasem zdarza się tak, że wypadałoby wystawić jakiś skrypt czy stronę w innej (starszej lub nowszej) wersji php niż domyślna na serwerze.
Można to zrobić na kilka sposobów, ale ten jest chyba najprostszy.

Zainstaluj wymagane paczki:
apt install -y apt-transport-https lsb-release ca-certificates

Dodaj zewnętrzne repozytorium:
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list

Następnie dodaj jego klucz:
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

I zaktualizuj listę pakietów:
apt update

W zasadzie wszytko, teraz trzeba zainstalować odpowiednie paczki:

PHP 5.6:
apt install php5.6 php5.6-cli php5.6-cgi php5.6-fpm

PHP 7.0:
apt install php7.0 php7.0-cli php7.0-cgi php7.0-fpm

PHP 7.1:
apt install php7.1 php7.1-cli php7.1-cgi php7.1-fpm

PHP 7.2:
apt install php7.2 php7.2-cli php7.2-cgi php7.2-fpm

PHP 7.3:
apt install php7.3 php7.3-cli php7.3-cgi php7.3-fpm

Oczywiście to nie wszystkie paczki z modułami, tylko przykłady.

Binarka oraz ścieżki dla każdej wersji (5.6 7.0 7.1 7.2 7.3) będą wyglądały tak:
Binarka Fast-CGI: php-cgi${ver}
Katalog z php.ini dla cgi: /etc/php/${ver}/cgi/php.ini
Binarka FPM: php${ver}-fpm
Katalog z php.ini dla fpm: /etc/php/${ver}/fpm/php.ini
Katalog fpm-pool: /etc/php/${ver}/fpm/pool.d

Restart usług za pomocą systemd:
systemctl restart php${ver}-fpm

Zmiana domyślnego php w systemie:
update-alternatives --config php
update-alternatives --config php-cgi


W Debianie 8 powinno to być 5.6, w 9: 7.0, w 10: 7.3