Installieren mehrerer PHP Versionen in ispconfig 3 und Debian 10

Diese Schritte MÜSSEN als ROOT ausgeführt werden.

Es muss jedem Klar sein, das PHP auf die neuste Version geupdatet wird und die Maintainer Pakete überschrieben werden.

System auf den neusten Stand bringen

Bash
apt update
apt upgrade


Sury.org zur source.list hinzufügen

ACHTUNG: Es sind NUR Pakete für Debian 8 und Debian 9 verfügbar !!!!!

Bash
apt install apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt update
apt upgrade


PHP Versionen installieren

Ab PHP 7.2 ist das Paket "php-mycrpt" nicht mehr verfügbar


PHP 5.6:

Code
apt -y install php5.6 php5.6-common php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-cli php5.6-cgi php-pear php5.6-mcrypt php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php-memcache php-imagick php-gettext php5.6-zip php5.6-mbstring php5.6-soap php5.6-common php5.6-opcache php5.6-mysql


PHP 7.0

Code
apt -y install php7.0 php7.0-common php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-cli php7.0-cgi php-pear php7.0-mcrypt php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php-memcache php-imagick php-gettext php7.0-zip php7.0-mbstring php7.0-soap php7.0-common php7.0-opcache php7.0-mysql


PHP 7.1

Code
apt -y install php7.1 php7.1-common php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-cli php7.1-cgi php-pear php7.1-mcrypt php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php-memcache php-imagick php-gettext php7.1-zip php7.1-mbstring php7.1-soap php7.1-common php7.1-opcache php7.1-mysql


PHP 7.2

Code
apt -y install php7.2 php7.2-common php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-cli php7.2-cgi php-pear php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php-memcache php-imagick php-gettext php7.2-zip php7.2-mbstring php7.2-soap php7.2-common php7.2-opcache php7.2-mysql

PHP 7.3

Code
apt-get -y install php7.3 php7.3-common php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-cli php7.3-cgi php-pear php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php-memcache php-imagick php-gettext php7.3-zip php7.3-mbstring php7.3-soap php7.3-common php7.3-opcache php7.3-mysql

PHP 7.4

Code
apt -y install php7.4 php7.4-common php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-cli php7.4-cgi php-pear php7.4-curl php7.4-intl php7.4-pspell php7.4-recode php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php-memcache php-imagick php-gettext php7.4-zip php7.4-mbstring php7.4-soap php7.4-common php7.4-opcache php7.4-mysql


PHP 8.0

Code
apt -y install php8.0 php8.0-common php8.0-fpm php8.0-gd php8.0-mysql php8.0-imap php8.0-cli php8.0-cgi php-pear php8.0-curl php8.0-intl php8.0-
pspell php8.0-sqlite3 php8.0-tidy php8.0-xsl php-memcache php-imagick php-gettext php8.0-zip php8.0-mbstring php8.0-soap php8.0-common php8.0-opcache php8.0-mysql


4. PHP auf Default zurücksetzen in Debian

Durch das installieren der neuen PHP Pakete, wurde die Default PHP Version in Debian auf die neuste PHP Version geändert. Dies kann Probleme mit einigen Anwendungen geben, deshalb setzen wir es auf Standard zurück.


Für Debian 8 wählen wir: PHP 5.6

Für Debian 9 wählen wir: PHP 7.0

Für Debian 10 wählen wir: PHP 7.3

BEIDE Befehle ausführen und BEIDE auf DEFAULT setzen:

Code
update-alternatives --config php
update-alternatives --config php-cgi


5. Einrichten in ispconfig3

Wir loggen uns mit einem ADMIN Account in ispconfig ein.


Danach navigieren wir zu:



Dort fügen wir durch klicken auf: "Neue PHP Version hinzufügen", nacheinander folgendes hinzu:


PHP 5.6


Tab "Name"

Server: Hier den Server auswählen

Name: Hier einen Namen vergeben


Tab "FastCGI Einstellungen"

Pfad zum PHP FastCGI Binary: php-cgi5.6

Pfad zum php.ini Verzeichnis: /etc/php/5.6/cgi/php.ini


Tab "FPM Einstellungen"

Pfad zum PHP-FPM init Script: php5.6-fpm

Pfad des php.ini Verzeichnis: /etc/php/5.6/fpm/php.ini

Pfad zum PHP-FPM Pool Verzeichnis: /etc/php/5.6/fpm/pool.d


PHP 7.0


Tab "Name"
Server: Hier den Server auswählen

Name: Hier einen Namen vergeben


Tab "FastCGI Einstellungen"

Pfad zum PHP FastCGI Binary: php-cgi7.0

Pfad zum php.ini Verzeichnis: /etc/php/7.0/cgi/php.ini


Tab "FPM Einstellungen"

Pfad zum PHP-FPM init Script: php7.0-fpm

Pfad des php.ini Verzeichnis: /etc/php/7.0/fpm/php.ini

Pfad zum PHP-FPM Pool Verzeichnis: /etc/php/7.0/fpm/pool.d


PHP 7.1


Tab "Name"
Server: Hier den Server auswählen
Name: Hier einen Namen vergeben


Tab "FastCGI Einstellungen"

Pfad zum PHP FastCGI Binary: php-cgi7.1

Pfad zum php.ini Verzeichnis: /etc/php/7.1/cgi/php.ini


Tab "FPM Einstellungen"

Pfad zum PHP-FPM init Script: php7.1-fpm

Pfad des php.ini Verzeichnis: /etc/php/7.1/fpm/php.ini

Pfad zum PHP-FPM Pool Verzeichnis: /etc/php/7.1/fpm/pool.d


PHP 7.2


Tab "Name"
Server: Hier den Server auswählen
Name: Hier einen Namen vergeben


Tab "FastCGI Einstellungen"

Pfad zum PHP FastCGI Binary: php-cgi7.2

Pfad zum php.ini Verzeichnis: /etc/php/7.2/cgi/php.ini


Tab "FPM Einstellungen"

Pfad zum PHP-FPM init Script: php7.2-fpm

Pfad des php.ini Verzeichnis: /etc/php/7.2/fpm/php.ini

Pfad zum PHP-FPM Pool Verzeichnis: /etc/php/7.2/fpm/pool.d


PHP 7.3


Tab "Name"
Server: Hier den Server auswählen
Name: Hier einen Namen vergeben


Tab "FastCGI Einstellungen"

Pfad zum PHP FastCGI Binary: php-cgi7.3

Pfad zum php.ini Verzeichnis: /etc/php/7.3/cgi/php.ini


Tab "FPM Einstellungen"

Pfad zum PHP-FPM init Script: php7.3-fpm

Pfad des php.ini Verzeichnis: /etc/php/7.3/fpm/php.ini

Pfad zum PHP-FPM Pool Verzeichnis: /etc/php/7.3/fpm/pool.d


PHP 7.4


Tab "Name"


Server: Hier den Server auswählen


Name: Hier einen Namen vergeben


Tab "FastCGI Einstellungen"

Pfad zum PHP FastCGI Binary: php-cgi7.4

Pfad zum php.ini Verzeichnis: /etc/php/7.4/cgi/php.ini


Tab "FPM Einstellungen"

Pfad zum PHP-FPM init Script: php7.4-fpm

Pfad des php.ini Verzeichnis: /etc/php/7.4/fpm/php.ini

Pfad zum PHP-FPM Pool Verzeichnis: /etc/php/7.4/fpm/pool.d


PHP 8.0


Tab "Name"

Server: Hier den Server auswählen

Name: Hier einen Namen vergeben


Tab "FastCGI Einstellungen"

Pfad zum PHP FastCGI Binary: php-cgi8.0

Pfad zum php.ini Verzeichnis: /etc/php/8.0/cgi/php.ini


Tab "FPM Einstellungen"

Pfad zum PHP-FPM init Script: php8.0-fpm

Pfad des php.ini Verzeichnis: /etc/php/8.0/fpm/php.ini

Pfad zum PHP-FPM Pool Verzeichnis: /etc/php/8.0/fpm/pool.d




Damit sind alle Versionen in ispconfig eingetragen und könenn ab jetzt individuell genutzt werden.

6. Restarten der Dienste

Jetzt werden alle Dienste restartet:


Bash
systemctl restart php5.6-fpm
systemctl restart php7.0-fpm
systemctl restart php7.1-fpm
systemctl restart php7.2-fpm
systemctl restart php7.3-fpm
systemctl restart php7.4-fpm
systemctl restart php8.0-fpm
systemctl restart apache2


Ich nutze hierfür ein Script, welches alle Dienste restartet:



Falls Euch das Tutorial gefallen hat, gebt mir doch (oben rechts) einen Kaffee aus.

Comments