14
août
2026
Comment mettre à niveau PHP de la version 8.1 vers la version 8.4
14:58

Comment mettre à niveau PHP de la version 8.1 vers la version 8.4

14 août 2026 14:58

En 2026, il existe deux manières de mettre à jour PHP.

Présentation

Во De nombreuses versions de Linux utilisent encore PHP 8.1. Les projets modernes peuvent nécessiter une version plus récente de 8.3 ou 8.4 pour s'exécuter. La dernière version disponible pour l'installation est PHP 8.5.

Première façon- installer PHP 8.3, 8.4 ou 8.5 depuis le dépôt oandrej PPA

sudo add-apt-repository ppa:ondrej/apache2
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php

Deuxième façon- installer PHP à partir d'un référentiel deb tiers https://packages.sury.org/php/
Dans l'article, j'ai examiné la deuxième méthode - deb de packages.sury.org/php/.

Comment installer de nouvelles versions de PHP

Tout d'abord, je recommande de désactiver le référentiel précédent et de supprimer le PHP7 obsolète.

sudo add-apt-repository --remove ppa:ondrej/php
sudo apt remove php7*

Message :

Ce référentiel est en train d'être fusionné avec https://packages.sury.org/php/

Si vous lisez sur le site https://packages.sury.org/php fichier README.txt, le chemin d'installation est le suivant :

1) préparer l'installation : mettez à jour le cache du package et installez les utilitaires nécessaires pour télécharger le fichier de clé du référentiel depuis Internet.

sudo apt-get update
sudo apt-get -y install lsb-release ca-certificates curl

2) à partir du package debsuryorg-archive-keyring.deb téléchargé depuis https://packages.sury.org/
installez la clé de signature du référentiel sur votre PC local.

Tout d’abord, téléchargez le fichier DEB d’installation du package dans le dossier tmp:

curl -sSLo /tmp/debsuryorg-archive-keyring.deb \
https://packages.sury.org/debsuryorg-archive-keyring.deb

Installez ensuite le package avec la clé

dpkg -i /tmp/debsuryorg-archive-keyring.deb

La clé apparaîtra dans le dossier /usr/share/keyrings/,
où est le nom du fichier trousseau :debsuryorg-archive-keyring.gpg

3) Dans le dossier /etc/apt/sources.list.d/, créez une entrée pour le nouveau référentiel

Le fichier php.list a un contenu d'une ligne :

deb [signed-by=/usr/share/keyrings/debsuryorg-archive-keyring.gpg] https://packages.sury.org/php/ jammy main

Où au lieu de jammy vous devez indiquer le nom de code de votre distribution.
Le nom de la distribution peut être trouvé avec la commande

lsb_release -a

Vous pouvez également connaître le nom de code grâce au numéro de version Linux.
Les versions les plus populaires de Linux ont des mots de code :
Ubuntu 20.04 LTS-focale
Ubuntu 22.04 LTS-confiture
*Ubuntu 24.04 LTS-noble

  • Linux Menthe 21 -confiture
  • Linux Menthe 22 -noble
  • Debian 11 -cible
  • Debian 12 -rat de bibliothèque
  • Debian 13 -Trixie

4) Installation de PHP 8.4

sudo apt-get update
sudo apt-get install php8.4-common

Problèmes et solutions

La priorité du référentiel du système d'exploitation Linux peut être supérieure à celle du référentiel tiers, ce qui empêche l'installation de programmes et de bibliothèques à partir du référentiel tiers.

Créer un fichier pour indiquer la priorité d'installation, c'est-à-dire épingler les packages dans un référentiel : APT Pinning

sudo nano 

Contenu du fichier :

<pré>Paquet : libgd3
Épingle : version o=deb.sury.org
Priorité de broche : 1001

Forfait : php*
Épingle : version o=deb.sury.org
Priorité de broche : 1001

1001 - signifie la priorité la plus élevée, qui est supérieure à celle du référentiel du système d'exploitation.

Auparavant, la bibliothèque LibGD3 du référentiel système Ubuntu était en conflit avec les exigences du module graphique PHP.php8.4-gd utilisez LibGD3 version 2.3.3,

  • dans le référentiel système version 2.3.0,
  • La version 2.3.3 du référentiel deb.sury.org sera installée avec une priorité plus élevée de 1001.

La commande dit ceci :

apt-cache policy libgd3

Désormais, il n'y aura plus d'erreur. Nous procédons comme d'habitude :

sudo apt-get update
sudo apt-get install php8.4-common

Vérification de la version PHP

php --version

Changer la version de PHP dans le système d'exploitation par défaut

Uniquement si la version PHP n'est pas celle requise :

sudo update-alternatives --config php

Installation du module Apache

sudo apt-get install libapache2-mod-php8.4

Causes de l'erreur "Constante non définie IMG_JPG"

Lors de l'exécution d'un projet PHP utilisant des graphiques, vous pouvez recevoir une erreur concernant IMG_JPG

Si vous avez effectué les étapes précédentes (installation de php une des dernières versions), vous devez en plus installer le module :

sudo apt-get install libgd3
sudo apt-get install php8.4-gd

Liste des modules Apache2 à installer

Pour le projet, j'ai en outre installé les packages et modules du serveur Web Apache :

sudo apt install php8.4 php8.4-cli php8.4-common
sudo apt install libapache2-mod-php8.4 
sudo apt install php8.4-curl php8.4-intl php8.4-mbstring php8.4-mysql
sudo apt install php8.4-readline php8.4-xml php8.4-yaml php8.4-zip php8.4-apcu

Activation du module PHP

sudo a2enmod php8.4
sudo service apache2 restart

Commutation de la configuration FastCGI FPM/module standard

L'état du module peut être trouvé avec la commande

sudo systemctl status php8.4-fpm

Si la version de FPM est la même que celle de PHP, c'est à dire dans ce cas 8.4, nous ne faisons rien.

Si les versions sont différentes, désactivez les modules FCGI et setenvif
sudo a2dismod actions alias proxy_fcgi setenvif
sudo a2disconf php8.4-fpm
Et allumons-les
sudo a2enconf php8.4-fpm
sudo systemctl reload apache2

sudo a2enmod actions alias proxy_fcgi setenvif


Cet article a été testé avec PHP version 8.4, mais peut fonctionner avec les versions 8.3 et 8.5 si vous remplacez les numéros correspondants dans les commandes du terminal.



Publications connexes