Ten poradnik pokazuje jak zainstalować wiele wersji PHP na serwerze ISPConfig Debian. Wersja PHP może być później wybrana w ustawieniach strony w ISPConfig 3 dla każdej witryny z osobna. Funkcja ta działa z PHP-FPM oraz FastCGI. Zainstalujemy PHP 5.6, 7.x oraz 8.x w wersji PHP-FPM oraz FastCGI na serwerze Debian używając pakietów PHP z sury.org.
1 Uwaga wstępna
Zainstaluję PHP bezpośrednio ze strony debian PHP Package, https://packages.sury.org/php/ z apt-get. Nie spowoduje to zastąpienia istniejącej instalacji, ale zmieni domyślną używaną wersję PHP na najnowszą zainstalowaną! Dlatego bardzo ważne jest, aby dodać nową wersję PHP dla zainstalowanej wersji do ISPConfig i najpierw zmienić wszystkie witryny na tę wersję. Jeśli używasz zadań cron wywołujących skrypty PHP, musisz je również dostosować, później więcej na ten temat.https://6f159aba7060efdd9ad8e1f5184a2653.safeframe.googlesyndication.com/safeframe/1-0-38/html/container.html
Ponieważ inne pakiety jako openssl są również aktualizowane, zainstalowane pakiety z sury.org nie mogą być po prostu usunięte po instalacji. Najpierw musisz obniżyć te pakiety do wersji Debiana, zanim będziesz w stanie usunąć pakiety PHP bez łamania innych pakietów. Najprostszym sposobem dla mnie było dezaktywowanie nowego dodanego repozytorium, a następnie zainstalowanie pakietów z sury.org pojawią się jako samodzielnie utworzone lub przestarzałe pakiety w aptitude i jesteś w stanie obniżyć pakiet po pakiecie.
Należy pamiętać, że PHP-FPM może być używany zarówno na serwerach Apache, jak i Nginx, podczas gdy FastCGI jest dostępny tylko dla serwerów Apache.
2 Włącz wersje PHP w ISPConfig
W ISPConfig 3 można skonfigurować nowe wersje PHP w obszarze System > Dodatkowe wersje PHP.
Dodaj wersję PHP Debiana
Możesz pominąć ten krok, jeśli nie masz zainstalowanej wersji PHP Debiana.
Przede wszystkim musisz dodać nową wersję dla już zainstalowanej wersji PHP. Na karcie Nazwa wystarczy wpisać nazwę wersji PHP (np. Debian 5.6) – ta wersja PHP będzie wymieniona pod tą nazwą w ustawieniach strony w ISPConfig:

Przejdź do zakładki Ustawienia FastCGI i wypełnij pola w następujący sposób:
Path to the PHP FastCGI binary: php5-cgi
Path to the php.ini directory: /etc/php5/cgi/php.ini

Następnie przejdź do zakładki Ustawienia PHP-FPM i wypełnij pola w następujący sposób:
Path to the PHP-FPM init script: php5-fpm
Path to the php.ini directory: /etc/php5/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php5/fpm/pool.d

Ważny krok dla zadań cron
Jeśli używasz zadań cron wywołujących skrypty PHP, musisz również powiedzieć cronowi, której wersji użyć. Dodaj php5 na początku polecenia, aby użyć wersji Debiana. Jeśli nie masz pewności, czego dokładnie używasz, postępuj zgodnie z dowiązaniem symbolicznym / usr / bin / php i użyj jego ostatecznego miejsca docelowego jako prefiksu.
Dodaj inne wersje PHP
Obecnie w https://packages.sury.org/php/ dostępne są 3 wersje i musisz powtórzyć ostatni krok teraz dla każdej wersji, którą zainstalujesz. Ale zamiast tego użyj następujących ustawień:
PHP 5.6
Path to the PHP FastCGI binary: php-cgi5.6
Path to the php.ini directory: /etc/php/5.6/cgi/php.ini
Path to the PHP-FPM init script: php5.6-fpm
Path to the php.ini directory: /etc/php/5.6/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/5.6/fpm/pool.d
Wersja cli np. dla zadań cron ma nazwę php5.6.
PHP 7.0
Path to the PHP FastCGI binary: php-cgi7.0
Path to the php.ini directory: /etc/php/7.0/cgi/php.ini
Path to the PHP-FPM init script: php7.0-fpm
Path to the php.ini directory: /etc/php/7.0/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.0/fpm/pool.d
Wersja cli np. dla zadań cron ma nazwę php7.0.
PHP 7.1
Path to the PHP FastCGI binary: php-cgi7.1
Path to the php.ini directory: /etc/php/7.1/cgi/php.ini
Path to the PHP-FPM init script: php7.1-fpm
Path to the php.ini directory: /etc/php/7.1/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.1/fpm/pool.d
Wersja cli dla np. zadań cron ma nazwę php7.1.
PHP 7.2
Path to the PHP FastCGI binary: php-cgi7.2
Path to the php.ini directory: /etc/php/7.2/cgi/php.ini
Path to the PHP-FPM init script: php7.2-fpm
Path to the php.ini directory: /etc/php/7.2/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.2/fpm/pool.d
Wersja cli np. dla zadań cron ma nazwę php7.2.
PHP 7.3
Path to the PHP FastCGI binary: php-cgi7.3
Path to the php.ini directory: /etc/php/7.3/cgi/php.ini
Path to the PHP-FPM init script: php7.3-fpm
Path to the php.ini directory: /etc/php/7.3/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.3/fpm/pool.d
Wersja cli np. dla zadań cron ma nazwę php7.3.
PHP 7.4
Path to the PHP FastCGI binary: php-cgi7.4
Path to the php.ini directory: /etc/php/7.4/cgi/php.ini
Path to the PHP-FPM init script: php7.4-fpm
Path to the php.ini directory: /etc/php/7.4/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.4/fpm/pool.d
Wersja cli np. dla zadań cron ma nazwę php7.4.Ogłoszenie
PHP 8.0
Path to the PHP FastCGI binary: php-cgi8.0
Path to the php.ini directory: /etc/php/8.0/cgi/
Path to the PHP-FPM init script: php8.0-fpm
Path to the php.ini directory: /etc/php/8.0/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.0/fpm/pool.d
Wersja cli dla np. zadań cron ma nazwę php8.0
PHP 8.1
Path to the PHP FastCGI binary: php-cgi8.1
Path to the php.ini directory: /etc/php/8.1/cgi/
Path to the PHP-FPM init script: php8.1-fpm
Path to the php.ini directory: /etc/php/8.1/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.1/fpm/pool.d
PHP 8.2
Path to the PHP FastCGI binary: php-cgi8.2
Path to the php.ini directory: /etc/php/8.2/cgi/
Path to the PHP-FPM init script: php8.2-fpm
Path to the php.ini directory: /etc/php/8.2/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.2/fpm/pool.d
PHP 8.3
Path to the PHP FastCGI binary: php-cgi8.3
Path to the php.ini directory: /etc/php/8.3/cgi/
Path to the PHP-FPM init script: php8.3-fpm
Path to the php.ini directory: /etc/php/8.3/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.3/fpm/pool.d
Wersja cli dla np. zadań cron ma nazwę php8.1
3 Zmiana wersji PHP stron internetowych
Możesz pominąć ten krok, jeśli nie masz zainstalowanej wersji PHP Debiana.
Teraz zmień wersję PHP wszystkich stron internetowych na nowo utworzoną wersję (np. Debian 5.6).
I nie zapomnij zmienić zadań cron, jak wspomniano powyżej.
4 Dodaj repozytorium na packages.sury.org
Aby dodać repozytorium w packages.sury.org i jego klucze BGP do apt użyj następujących poleceń:
apt-get install -y apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
Następne polecenie to tylko jeden wiersz, nie dodawaj żadnych podziałów wierszy:
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt-get update
Aby uaktualnić już zainstalowane pakiety z nowego repozytorium, użyj tego polecenia:
apt-get upgrade
5 Zainstaluj PHP z packages.sury.org
Oferuję tutaj wiele opcji instalacji, wybierz żądane wersje i po prostu pomiń resztę!
5.1 Zainstaluj PHP 5.6
Aby zainstalować PHP, użyj tego polecenia:
apt-get install php5.6 php5.6-cli php5.6-cgi php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml
5.2 Zainstaluj PHP 7.0
Aby zainstalować PHP, użyj tego polecenia:
apt-get install php7.0 php7.0-cli php7.0-cgi php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-zip php7.0-mbstring php7.0-soap php7.0-opcache php7.0-common php7.0-json php7.0-readline php7.0-xml
5.3 Zainstaluj PHP 7.1
Aby zainstalować PHP, użyj tego polecenia:
apt-get install php7.1 php7.1-cli php7.1-cgi php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php7.1-zip php7.1-mbstring php7.1-soap php7.1-opcache php7.1-common php7.1-json php7.1-readline php7.1-xml
5.4 Zainstaluj PHP 7.2
Aby zainstalować PHP, użyj tego polecenia:
apt-get install php7.2 php7.2-cli php7.2-cgi php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php7.2-zip php7.2-mbstring php7.2-soap php7.2-opcache php7.2-common php7.2-json php7.2-readline php7.2-xml
5.5 Zainstaluj PHP 7.3
Aby zainstalować PHP, użyj tego polecenia:
apt-get install php7.3 php7.3-cli php7.3-cgi php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php7.3-zip php7.3-mbstring php7.3-soap php7.3-opcache php7.3-common php7.3-json php7.3-readline php7.3-xml
5.6 Zainstaluj PHP 7.4
Aby zainstalować PHP 7.4 użyj tego polecenia:
apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache libonig5 php7.4-common php7.4-json php7.4-readline php7.4-xml
5.7 Zainstaluj PHP 8.0
Aby zainstalować PHP 8.0, użyj tego polecenia:
apt-get install php8.0 php8.0-cli php8.0-cgi php8.0-fpm php8.0-gd php8.0-mysql php8.0-imap php8.0-curl php8.0-intl php8.0-pspell php8.0-sqlite3 php8.0-tidy php8.0-xsl php8.0-zip php8.0-mbstring php8.0-soap php8.0-opcache libonig5 php8.0-common php8.0-readline php8.0-xml
5.8 Install PHP 8.1
To install PHP 8.1 use this command:
apt-get install php8.1 php8.1-cli php8.1-cgi php8.1-fpm php8.1-gd php8.1-mysql php8.1-imap php8.1-curl php8.1-intl php8.1-pspell php8.1-sqlite3 php8.1-tidy php8.1-xsl php8.1-zip php8.1-mbstring php8.1-soap php8.1-opcache libonig5 php8.1-common php8.1-readline php8.1-xml
5.9 Install PHP 8.2
To install PHP 8.2 use this command:
apt-get install php8.2 php8.2-cli php8.2-cgi php8.2-fpm php8.2-gd php8.2-mysql php8.2-imap php8.2-curl php8.2-intl php8.2-pspell php8.2-sqlite3 php8.2-tidy php8.2-xsl php8.2-zip php8.2-mbstring php8.2-soap php8.2-opcache libonig5 php8.2-common php8.2-readline php8.2-xml
5.9b Install PHP 8.3
To install PHP 8.3 use this command:
apt-get install php8.3 php8.3-cli php8.3-cgi php8.3-fpm php8.3-gd php8.3-mysql php8.3-imap php8.3-curl php8.3-intl php8.3-pspell php8.3-sqlite3 php8.3-tidy php8.3-xsl php8.3-zip php8.3-mbstring php8.3-soap php8.3-opcache libonig5 php8.3-common php8.3-readline php8.3-xml
6 Install Memcache extension (optional)
To install Memcache use this command:
apt-get install php-memcache php-memcached
7 Install APCu extension (optional)
To install APC user cache use this command:
apt-get install php-apcu php-apcu-bc
8 Install xDebug extension (optional)
The xDebug module is a debugging extension for PHP. The installation is optional.
To install xDebug use this command:
apt-get install php-xdebug
This package seems to have other default settings than the Debian package php5-xdebug. Depending on your software you have to change settings like xdebug.max_nesting_level to get it running!
9 Set Debian default PHP back to the original version
The default PHP of the operating system has to remain at the original version. To fix that, run these commands:
update-alternatives --config php update-alternatives --config php-cgi update-alternatives --config php-fpm.sock
Na Debianie 12 bookworm wybierz 8.2, Debianie 11 wybierz 7.4, na Debianie 10, wybierz 7.3, na Debianie 9: Wybierz PHP 7.0, na Debianie 8, wybierz PHP 5.6 w wyświetlonym oknie dialogowym.
10 Uruchom ponownie demona FPM
Na koniec uruchom ponownie demony php-fpm. Uruchom polecenia dla wcześniej zainstalowanych:
service php5.6-fpm restart
service php7.0-fpm restart
service php7.1-fpm restart
service php7.2-fpm restart
service php7.3-fpm restart
service php7.4-fpm restart
service php8.0-fpm restart
service php8.1-fpm restart
service php8.2-fpm restart
service php8.3-fpm restart
11 Linki
- PHP: http://www.php.net/
- ISPConfig: http://www.ispconfig.org/
- Debian: http://www.debian.org/
- DEB.SURY.ORG: http://deb.sury.org/
Źródło: Link







