
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