18
0
Fork 0

Précisions pour installer PHP 8.0 ou 8.1

This commit is contained in:
Gregory Colpart 2022-03-15 16:32:07 +01:00
parent 84f788477d
commit 29a3da13be
1 changed files with 34 additions and 28 deletions

View File

@ -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