Debian/PHP/Versionen
System aktualisieren
# apt update # apt upgrade
# apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https
Sury.org-Repository hinzufügen
Es sind Pakete für Debian 8 bis 10 verfügbar
# 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 # apt-key add apt.gpg # apt-key add php.gpg
# echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
# apt update # apt upgrade
Hierbei wird die Standard-Version von Debian aktualisiert.
PHP Versionen installieren
- Ab PHP 7.2 ist das Paket "php-mycrpt" nicht mehr verfügbar
- Ab PHP 7.4 ist das Paket "php-recode" nicht mehr verfügbar. Evtl kommt es in der Stable wieder (FIXME)
PHP 5.6
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
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
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
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
apt -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
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-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 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 wird diese auf Standard zurück gesetzt.
- Debian 8: PHP 5.6
- Debian 9: PHP 7.0
- Debian 10: PHP7.3
BEIDE Befehle ausführen und BEIDE auf DEFAULT setzen:
# update-alternatives --config php There are 3 choices for the alternative php (providing /usr/bin/php). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/php7.4 74 auto mode 1 /usr/bin/php7.2 72 manual mode 2 /usr/bin/php7.3 73 manual mode 3 /usr/bin/php7.4 74 manual mode Press <enter> to keep the current choice[*], or type selection number: 2 update-alternatives: using /usr/bin/php7.3 to provide /usr/bin/php (php) in manual mode
# update-alternatives --config php-cgi There are 3 choices for the alternative php-cgi (providing /usr/bin/php-cgi). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/php-cgi7.4 74 auto mode 1 /usr/bin/php-cgi7.2 72 manual mode 2 /usr/bin/php-cgi7.3 73 manual mode 3 /usr/bin/php-cgi7.4 74 manual mode Press <enter> to keep the current choice[*], or type selection number: 2 update-alternatives: using /usr/bin/php-cgi7.3 to provide /usr/bin/php-cgi (php-cgi) in manual mode
Einrichten in ISPconfig3
- System > Zusätzliche PHP Versionen > Neue PHP Version hinzufügen
PHP 5.6
Tab "Name"
- Server: Hier den Server auswählen
- Name: Hier einen Namen vergeben
Tab "FastCGI Einstellungen"
- Pfad zum PHP FastCGI Binary: php5.6-cgi
- 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: php7.0-cgi
- 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: php7.1-cgi
- 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: php7.2-cgi
- 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: php7.3-cgi
- 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: php7.4-cgi
- 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
Dienste neu starten
# 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 apache2
Script zur Installation
- Versionen werden nicht in ISPconfig eingetragen
#!/bin/sh apt 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 echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list apt update apt upgrade 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 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 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 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 apt -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 apt -y install php-zip php-zeroc-ice php-xml php-tcpdf php-ssh2 php-soap php-snmp php-redis php-php-gettext php-mysql php-pear php-net-smtp php-net-socket php-net-imap php-net-nntp php-mcrypt php-mbstring php-imap php-intl php-json php-imagick php-gnupg php-gd php-geoip php-fpm php-dev php-mail php-mail-mime php-curl php-cli php-cgi php-bz2 php-bcmath php-apcu php-auth-sasl php-apcu-bc apt -y install mcrypt imagemagick libruby curl update-alternatives --config php update-alternatives --config php-cgi
Quellen
- https://www.goover.de/article/5-installieren-mehrerer-php-versionen-in-ispconfig-3-f%C3%BCr-debian-8-debian-9-debian/
- https://www.itzgeek.com/how-tos/linux/debian/how-to-install-php-7-3-7-2-7-1-on-debian-10-debian-9-debian-8.html
- https://www.howtoforge.com/tutorial/how-to-install-php-7-for-ispconfig-3-from-debian-packages-on-debian-8-and-9/
Weblinks
Dirkwagner (Diskussion) 19:56, 8. Dez. 2019 (CET)