Debian/PHP/Versionen

Aus Foxwiki

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

Weblinks

Dirkwagner (Diskussion) 19:56, 8. Dez. 2019 (CET)