From 29a3da13be75cca33b960dbd628ac74df07e660f Mon Sep 17 00:00:00 2001 From: Gregory Colpart Date: Tue, 15 Mar 2022 16:32:07 +0100 Subject: [PATCH] =?UTF-8?q?Pr=C3=A9cisions=20pour=20installer=20PHP=208.0?= =?UTF-8?q?=20ou=208.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowtoPHP.md | 62 +++++++++++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 28 deletions(-) diff --git a/HowtoPHP.md b/HowtoPHP.md index 7ace6e10..8c9c0003 100644 --- a/HowtoPHP.md +++ b/HowtoPHP.md @@ -12,9 +12,8 @@ commande), via mod_php (module intégré à [Apache](HowtoApache)) ou via FPM (FastCGI Process Manager). -Il existe [plusieurs versions de -PHP](http://php.net/supported-versions.php). Voici les versions -de PHP actuellement supportées sous Debian : +Il existe [plusieurs versions de PHP](http://php.net/supported-versions.php). +Voici les versions de PHP actuellement supportées sous Debian : * Debian 7 : PHP 5.4.45 * Debian 8 : PHP 5.6.19 @@ -52,41 +51,48 @@ Composer 2.0.9 2021-01-27 16:09:27 ### PHP avec deb.sury.org -Si l'on a absolument besoin d'une version de PHP plus récente (par exemple PHP 8.0), +Si l'on a vraiment besoin d'une version de PHP plus récente (par exemple PHP 8.0 ou 8.1), il est possible de l'installer avec le dépôt [deb.sury.org](https://deb.sury.org/) d'Ondřej Surý (l'un des mainteneurs officiels des paquets PHP sous Debian). -Il est d'ailleurs préférable d'utiliser les paquets PHP qui précisent -la version de php (php8.0, php8.1 ou php7.4 - exemple php7.4-curl -ou libapache2-mod-php7.4) car les paquets génériques "php-foo" dépendent -de la dernière version de PHP disponible. - -Exemple, si on souhaite seulement php7.3 : +On peut d'ailleurs ainsi avoir plusieurs versions de PHP en même temps, +que l'on pourra utiliser pour différents sites web, via PHP-FPM par exemple. ~~~ -# apt install wget apt-transport-https # wget -O /etc/apt/trusted.gpg.d/sury.gpg https://packages.sury.org/php/apt.gpg # dos2unix /etc/apt/trusted.gpg.d/sury.gpg # chmod 644 /etc/apt/trusted.gpg.d/sury.gpg -# echo "deb https://packages.sury.org/php/ stretch main" > /etc/apt/sources.list.d/sury.list -# cat << EOT > /etc/apt/preferences.d/z-sury -Package: php* libapache2-mod-php* libpcre2* libzip4* -Pin: origin packages.sury.org -Pin-Priority: 999 +# echo "deb https://packages.sury.org/php/ bullseye main" > /etc/apt/sources.list.d/sury.list +~~~ -Package: * -Pin: origin packages.sury.org -Pin-Priority: 50 -EOT -# apt update -# PHPVERSION=7.3 -# apt install php$PHPVERSION php$PHPVERSION-cli php$PHPVERSION-curl php$PHPVERSION-mysql php$PHPVERSION-pgsql php$PHPVERSION-ldap php$PHPVERSION-imap php$PHPVERSION-gd php$PHPVERSION-intl php-ssh2 php-gettext composer libphp-phpmailer +Attention, vous aurez automatiquement la version la plus récente installée, +car les paquets "php-foo" dépendent de la dernière version de PHP disponible. +Lors d'une mises à jour, vous pourrez avoir la surprise de passer de voir +votre ligne de commande `php` passer de PHP 8.0 à 8.1 par exemple. -$ php -v -PHP 7.3.4-1+0~20190412071350.37+stretch~1.gbpabc171 (cli) (built: Apr 12 2019 07:13:50) ( NTS ) -Copyright (c) 1997-2018 The PHP Group -Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies - with Zend OPcache v7.3.4-1+0~20190412071350.37+stretch~1.gbpabc171, Copyright (c) 1999-2018, by Zend Technologies +Pour éviter cela, et avoir strictement une seule version fixe de PHP, nous proposons +des paquets "php-foo" fixes. Ainsi, pour PHP 8.0, vous aurez dans vos sources : + +~~~ +deb http://pub.evolix.net/ bullseye-php80/ +deb https://packages.sury.org/php/ bullseye main +~~~ + +Et vous installerez PHP normalement (à part les paquets php-amqp php-apcu php-igbinary php-redis php-ssh2 que vous devrez forcer en version 8.0) : + +~~~ +# apt install php php-cli php-curl php-mysql php-pgsql php-ldap php-imap php-gd composer libphp-phpmailer php8.0-ssh2 +~~~ + +Idem pour PHP 8.1 : + +~~~ +deb http://pub.evolix.net/ bullseye-php81/ +deb https://packages.sury.org/php/ bullseye main +~~~ + +~~~ +# apt install php php-cli php-curl php-mysql php-pgsql php-ldap php-imap php-gd composer libphp-phpmailer php8.1-ssh2 ~~~ ### PHP-FPM