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
Standard-PHP-Versionen
- Durch die Installation der PHP-Pakete von sury.org, wurde die Default PHP Version in Debian auf die neuste PHP Version geändert.
- Um Probleme zu vermeiden sollte diese auf Standard zurück gesetzt.
Debian Standard-PHP-Versionen
- Debian 8: PHP 5.6
- Debian 9: PHP 7.0
- Debian 10: PHP 7.3
Dies muss für php und php-cgi durchgeführt werden. Hier am Beispiel von Debian 10:
# 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/