Changement de version PHP dans Linux : Installation de PHP 8.4 sans écraser PHP 8.3

Par Devinsto
Posté le 25 octobre 2025
Mis à jour le 4 novembre 2026
33 min de lecture
3k vues

Changement de version PHP dans Linux :

Introduction

L'une des plus grandes forces de Valet Linux Plus réside dans sa capacité à gérer plusieurs versions de PHP simultanément. Que vous travailliez sur des projets hérités ou que vous ayez besoin de tester votre code avec les dernières versions de PHP, cette flexibilité est essentielle. Cet article vous guide à travers le processus d'installation de PHP 8.4 tout en conservant PHP 8.3 intact sur votre système.

Pourquoi avoir plusieurs versions de PHP ?

Dans un environnement de développement professionnel, il est courant de devoir maintenir plusieurs versions de PHP. Certains projets peuvent être développés avec PHP 8.3, tandis que d'autres cibles PHP 8.4 pour bénéficier des dernières améliorations de performance et des nouvelles fonctionnalités. Valet Linux Plus facilite cette coexistence en permettant de basculer facilement entre les versions ou d'isoler des projets sur des versions spécifiques.

Prérequis

Avant de commencer, assurez-vous que vous disposez des éléments suivants :

  • Un système Linux (Ubuntu , Linux mint ou Debian recommandé)

  • Valet Linux Plus installé et configuré

  • Un accès root ou la capacité à utiliser sudo

  • Le PPA (Personal Package Archive) d'Ondrej configuré pour accéder aux différentes versions de PHP

Le PPA d'Ondrej est le référentiel officiel qui maintient les dernières versions de PHP pour Ubuntu et Debian. Il est essentiel pour accéder à PHP 8.4 et aux versions futures.

Étape 1 : Ajouter le PPA d'Ondrej

La première étape consiste à ajouter le PPA d'Ondrej à votre système et à mettre à jour votre liste de packages.

sudo add-apt-repository ppa:ondrej/php
sudo apt update

Note si vous avez une erreur de clé GPG : Cela peut arriver, mais ce n'est généralement pas bloquant. Continuez à l'étape suivante. Si vous recevez une erreur lors de apt update,

Gestion des erreurs de clé GPG

Il est possible que vous rencontriez une erreur liée à la clé GPG lors de l'ajout du PPA ou de la mise à jour. Voici comment la résoudre :

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B8DC7E53946656EFBCE4C1DD71DAEAAB4AD4CAB6

Relancez ensuite sudo apt update pour vous assurer que tout fonctionne correctement. Cette erreur est généralement mineure et peut être ignorée si la mise à jour réussit malgré tout.

Étape 2 : Installer PHP 8.4 FPM et ses extensions

Maintenant que votre système connaît l'existence de PHP 8.4, installez-le avec les extensions les plus courantes :

sudo apt install php8.4-fpm php8.4-cli php8.4-common php8.4-mysql php8.4-curl php8.4-gd php8.4-intl php8.4-mbstring php8.4-xml php8.4-zip

Explication des packages installés

  • php8.4-fpm : FastCGI Process Manager, le service qui traite les requêtes PHP pour Nginx

  • php8.4-cli : Interface en ligne de commande pour exécuter les scripts PHP depuis le terminal

  • php8.4-common : Fichiers communs partagés entre les modules PHP

  • php8.4-mysql : Support pour les bases de données MySQL/MariaDB

  • php8.4-curl : Support pour les requêtes HTTP via la librairie cURL

  • php8.4-gd : Librairie pour la manipulation d'images

  • php8.4-intl : Support pour l'internationalisation

  • php8.4-mbstring : Support pour les chaînes de caractères multi-octets (UTF-8, etc.)

  • php8.4-xml : Support pour le traitement XML

  • php8.4-zip : Support pour les archives ZIP

Note importante : Si vos projets nécessitent d'autres extensions spécifiques (comme PostgreSQL, Redis, Memcached, etc.), vous devez les installer également. Recherchez simplement php8.4-extension_name pour installer d'autres extensions.

Étape 3 : Vérifier l'installation de PHP 8.4

Vérifiez que PHP 8.4 a été correctement installé :

php8.4 --version

Vous devriez voir une sortie similaire à :

devinstocm@devinstocm:~$ php8.4 --version
PHP 8.4.13 (cli) (built: Oct  1 2025 20:34:15) (NTS)
Copyright (c) The PHP Group
Built by Debian
Zend Engine v4.4.13, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.13, Copyright (c), by Zend Technologies

Cela confirme que PHP 8.4 est installé et prêt à être utilisé.

Étape 4 : Basculer vers PHP 8.4 avec Valet

C'est maintenant que la magie opère. Avec Valet Linux Plus, le changement de version PHP ne nécessite qu'une simple commande :

valet use 8.4

Cette commande indique à Valet de basculer PHP 8.4-FPM pour servir les requêtes web via Nginx. PHP 8.3 reste complètement installé sur votre système, mais Valet utilise maintenant PHP 8.4 par défaut.

Étape 5 : Mettre à jour la version CLI (Recommandé)

Pour une cohérence totale, mettez à jour également la version CLI utilisée en ligne de commande :

valet use 8.4 --update-cli

L'option --update-cli garantit que lorsque vous exécutez php depuis le terminal, c'est PHP 8.4 qui est utilisé, et non PHP 8.3. Cela est important si vous utilisez des outils comme Composer, des tests automatisés ou d'autres scripts CLI.

Étape 6 : Vérifier le changement

Confirmez que le changement a été appliqué correctement :

devinstocm@devinstocm:~$ php --version
valet status
PHP 8.4.13 (cli) (built: Oct  1 2025 20:34:15) (NTS)
Copyright (c) The PHP Group
Built by Debian
Zend Engine v4.4.13, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.13, Copyright (c), by Zend Technologies

   INFO  Php8.4-fpm is running...  

   INFO  Nginx is running...  

Remarquez Php8.4-fpm is running... au lieu de Php8.3-fpm is running.... C'est la confirmation que le changement a réussi.

Revenir à PHP 8.3

Si pour une raison quelconque vous avez besoin de revenir à PHP 8.3, c'est aussi simple que d'y aller :

valet use 8.3
valet use 8.3 --update-cli

Valet bascule instantanément vers PHP 8.3. Aucune donnée n'est perdue, aucune configuration n'est écrasée. Vous pouvez basculer entre les versions aussi souvent que nécessaire.

Utiliser PHP 8.4 sur un seul projet

Il existe une situation courante où vous souhaitez conserver PHP 8.3 globalement pour la plupart de vos projets, mais utiliser PHP 8.4 pour un projet spécifique. C'est exactement ce que permet la commande valet isolate :

cd /chemin/vers/votre/projet
valet isolate 8.4

Maintenant, ce projet utilise exclusivement PHP 8.4, tandis que tous les autres projets continuent d'utiliser PHP 8.3. C'est particulièrement utile pour tester la compatibilité ou pour travailler sur plusieurs versions en parallèle sans impacter votre environnement global.

Retirer l'isolation

Pour retirer l'isolation et revenir à la version globale :

cd /chemin/vers/votre/projet
valet unisolate

Vérification finale complète

Pour vous assurer que tout fonctionne correctement, exécutez ces commandes :

# Vérifier la version globale CLI
php --version

# Vérifier la version PHP-FPM utilisée par Nginx
valet status

# Vérifier les extensions disponibles
php -m

# Vérifier que les services sont actifs
sudo systemctl status php8.4-fpm
sudo systemctl status nginx

Illustration

devinstocm@devinstocm:~$ sudo systemctl status php8.4-fpm
[sudo] Mot de passe de devinsto :          
● php8.4-fpm.service - The PHP 8.4 FastCGI Process Manager
     Loaded: loaded (/usr/lib/systemd/system/php8.4-fpm.service; enabled; prese>
     Active: active (running) since Sat 2025-10-25 14:42:50 WAT; 18min ago
       Docs: man:php-fpm8.4(8)
    Process: 239626 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /r>
   Main PID: 239622 (php-fpm8.4)
     Status: "Processes active: 0, idle: 3, Requests: 0, slow: 0, Traffic: 0.00>
      Tasks: 4 (limit: 38265)
     Memory: 13.1M (peak: 14.3M)
        CPU: 141ms
     CGroup: /system.slice/php8.4-fpm.service
             ├─239622 "php-fpm: master process (/etc/php/8.4/fpm/php-fpm.conf)"
             ├─239623 "php-fpm: pool valet"
             ├─239624 "php-fpm: pool www"
             └─239625 "php-fpm: pool www"

oct. 25 14:42:50 devinsto systemd[1]: Starting php8.4-fpm.service - The PHP 8.4>
oct. 25 14:42:50 devinsto systemd[1]: Started php8.4-fpm.service - The PHP 8.4 >

Ces commandes vous donneront une vue complète de votre environnement PHP actuel et confirmeront que tout fonctionne comme prévu.

Points importants à retenir

PHP 8.3 n'est pas écrasé

Une inquiétude courante lors de l'installation d'une nouvelle version de PHP est la perte de l'ancienne version. Ce n'est pas le cas ici. PHP 8.3 reste complètement intact sur votre système. Les deux versions coexistent pacifiquement, et Valet gère simplement quel version est utilisée par défaut.

Le changement global avec valet use

Lorsque vous exécutez valet use 8.4, vous ne supprimez pas PHP 8.3. Vous dites simplement à Valet de servir les requêtes web via PHP 8.4-FPM au lieu de PHP 8.3-FPM. Le changement est instantané et non destructif.

CLI séparé avec --update-cli

L'option --update-cli change la version utilisée en ligne de commande. Cela est important pour la cohérence, mais ce n'est pas techniquement indispensable. Cependant, il est recommandé pour éviter les confusion et les problèmes de compatibilité lors de l'exécution d'outils CLI.

Isolement de projets avec valet isolate

Pour une flexibilité maximale, utilisez valet isolate pour des projets spécifiques. Cela vous permet d'exécuter PHP 8.4 sur un projet tout en gardant PHP 8.3 pour tous les autres.

Activer l'affichage des erreurs PHP 8.4 avec Laravel Valet

Cette page ne fonctionne pas
Impossible de traiter cette demande via phppoo-2025-2026.test à l'heure actuelle.
HTTP ERROR 500

1. Vérifiez le fichier php.ini utilisé par PHP 8.4

Trouvez le chemin du fichier php.ini pour PHP 8.4 avec :

php --ini | grep "Loaded Configuration File"

Ou cherchez-le manuellement dans :

/etc/php/8.4/fpm/php.ini    # Pour PHP-FPM (utilisé par Valet)
/etc/php/8.4/cli/php.ini     # Pour la ligne de commande (optionnel)

2. Modifiez php.ini pour activer l'affichage des erreurs

sudo nano /etc/php/8.4/fpm/php.ini

Recherchez et modifiez ces directives :

display_errors = On
display_startup_errors = On
error_reporting = E_ALL
log_errors = On

display_errors = On
;   Default Value: On
;   Development Value: On
;   Production Value: Off

display_startup_errors = On
;   Default Value: On
;   Development Value: On
;   Production Value: Off

error_reporting = E_ALL
;   Default Value: E_ALL
;   Development Value: E_ALL
;   Production Value: E_ALL & ~E_DEPRECATED

log_errors = On
;   Default Value: Off
;   Development Value: On
;   Production Value: On

3. Redémarrez PHP-FPM 8.4 et Nginx

Après avoir sauvegardé le fichier :

devinstocm@devinstocm:~$ valet restart
  Dnsmasq ......................................................... Restarting  
  Php8.4-fpm ...................................................... Restarting  
  Nginx ........................................................... Restarting  
  Mailpit ......................................................... Restarting  
  Mysql ........................................................... Restarting  
  Redis-server .................................................... Restarting  

   INFO  Valet services have been restarted. 

4. Vérifiez les logs en cas de problème persistant

  • Logs PHP :

tail -f /var/log/php8.4-fpm.log
  • Logs Nginx

tail -f ~/.config/valet/Log/nginx-error.log

Résumé des commandes :

# Trouver le php.ini
php --ini

# Éditer le php.ini de PHP 8.4 FPM
sudo nano /etc/php/8.4/fpm/php.ini

# Redémarrer les services
sudo systemctl restart php8.4-fpm
valet restart

Cela devrait activer l’affichage des erreurs PHP. Si vous voyez toujours une erreur 500, vérifiez les logs pour des détails précis.

Conclusion

Valet Linux Plus rend la gestion de plusieurs versions de PHP simple et intuitive. Vous n'avez plus besoin de jongler avec les configurations Docker complexes ou les machines virtuelles pour tester différentes versions de PHP. Avec quelques commandes simples, vous pouvez basculer facilement entre PHP 8.3 et PHP 8.4, ou isoler des projets sur des versions spécifiques.

Cette approche vous permet de développer avec confiance, en sachant que vous pouvez tester votre code contre la version PHP dont vous avez besoin, quand vous en avez besoin. Que vous mettiez à jour progressivement vos projets ou que vous souteniez plusieurs versions, Valet Linux Plus vous offre la flexibilité nécessaire pour réussir.

Ajouter un commentaire

Vous devez être connecté pour laisser un commentaire.

Soyez le premier à commenter cet article !