Debian : Installer une version plus récente de PHP
Table des matières
Dans cet article, nous allons voir comment installer une version plus récente de PHP dans Debian.
Pour illustrer les manipulations, nous utilisons ici Debian 11.
Si vous avez installé un serveur LAMP en suivant le tuto suivant du site ( https://www.linuxtricks.fr/wiki/debian-installer-un-serveur-lamp-apache-mysql-php ) vous avez installé la version de PHP livrée par Debian : 7.4
Nous allons voir comment ajouter un dépôt additionnel contenant d'autres versions de PHP : Celui de https://packages.sury.org/php/
Au moment où je rédige cet article, les branches PHP 5.6 à 8.2
Comme d'habitude, les commandes sont à effectuer en root :
ou
On pet à jour ses dépôts :
On installe les éventuelles dépendances permettant de gérer des dépôts en HTTPS :
On installe dans notre système la clé du dépôt sury :
On génère le fichier de dépôt nommé sury-php.list :
On rafraichit à nouveau ses dépôts :
Si vous aviez PHP de Debian installé (version 7.4 de Debian 11 à la rédaction de cet article), et que vous faites une mise à jour du système avec apt full-upgrade, vous mettrez à niveau PHP vers la version définie par le dépôt (au moment de la rédaction de l'article, il s'agit de la version 8.1).
Habituellement, dans une même version de Debian, la branche de PHP reste la même pour ne pas casser la compatibilité.
SI et SEULEMENT SI vous aviez déjà installé PHP :
- Sauvegardez vos fichiers de configuration PHP
- Désinstallez ce que vous aviez installé libapache2-mod-php :
Une fois le ménage fait, on peut passer à l'installation de PHP.
Nous n'allons pas utiliser le nom générique php et pour les modules php-nomdumodule mais nous allons utiliser les noms avec le numéro de version.
En effet, si au cours d'une mise à jour de Debian, PHP change de branche, il faudra penser à :
- Tester son application avec cette nouvelle version
- Modifier la configuration de votre php.ini si vous aviez édité celle-ci puisque le fichier se trouve dans /etc/php/VERSION_DE_PHP/apache2/php.ini
Dans notre exemple, nous allons installer PHP 8.1 (dernière version stable au moment où je rédige cet article).
On procèdera ainsi pour installer le module apache, de PHP :
Pour installer les différents modules on pourra utiliser cette commande (comme d'hab avec les modules dans les accolades) :
Si un serveur apache était en fonctionnement, n'oubliez pas de le redémarrer :
Introduction
Dans cet article, nous allons voir comment installer une version plus récente de PHP dans Debian.
Pour illustrer les manipulations, nous utilisons ici Debian 11.
Problématique
Si vous avez installé un serveur LAMP en suivant le tuto suivant du site ( https://www.linuxtricks.fr/wiki/debian-installer-un-serveur-lamp-apache-mysql-php ) vous avez installé la version de PHP livrée par Debian : 7.4
Nous allons voir comment ajouter un dépôt additionnel contenant d'autres versions de PHP : Celui de https://packages.sury.org/php/
Au moment où je rédige cet article, les branches PHP 5.6 à 8.2
Installation du dépôt
Comme d'habitude, les commandes sont à effectuer en root :
Code BASH :
su -
ou
Code BASH :
sudo -i
On pet à jour ses dépôts :
Code BASH :
apt update
On installe les éventuelles dépendances permettant de gérer des dépôts en HTTPS :
Code BASH :
apt install apt-transport-https lsb-release curl
On installe dans notre système la clé du dépôt sury :
Code BASH :
curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
On génère le fichier de dépôt nommé sury-php.list :
Code BASH :
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/sury-php.list
On rafraichit à nouveau ses dépôts :
Code BASH :
apt update
Information importante
Si vous aviez PHP de Debian installé (version 7.4 de Debian 11 à la rédaction de cet article), et que vous faites une mise à jour du système avec apt full-upgrade, vous mettrez à niveau PHP vers la version définie par le dépôt (au moment de la rédaction de l'article, il s'agit de la version 8.1).
Habituellement, dans une même version de Debian, la branche de PHP reste la même pour ne pas casser la compatibilité.
SI et SEULEMENT SI vous aviez déjà installé PHP :
- Sauvegardez vos fichiers de configuration PHP
- Désinstallez ce que vous aviez installé libapache2-mod-php :
Code BASH :
apt autoremove php* libapache2-mod-php
Une fois le ménage fait, on peut passer à l'installation de PHP.
Nous n'allons pas utiliser le nom générique php et pour les modules php-nomdumodule mais nous allons utiliser les noms avec le numéro de version.
En effet, si au cours d'une mise à jour de Debian, PHP change de branche, il faudra penser à :
- Tester son application avec cette nouvelle version
- Modifier la configuration de votre php.ini si vous aviez édité celle-ci puisque le fichier se trouve dans /etc/php/VERSION_DE_PHP/apache2/php.ini
Installation d'une version de PHP définie
Dans notre exemple, nous allons installer PHP 8.1 (dernière version stable au moment où je rédige cet article).
On procèdera ainsi pour installer le module apache, de PHP :
Code BASH :
apt install libapache2-mod-php8.1 php8.1
Pour installer les différents modules on pourra utiliser cette commande (comme d'hab avec les modules dans les accolades) :
Code BASH :
apt install php8.1-{curl,gd,intl,memcache,xml,zip,mbstring}
Si un serveur apache était en fonctionnement, n'oubliez pas de le redémarrer :
Code BASH :
systemctl restart apache2