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
sudoLe 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 updateNote 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 B8DC7E53946656EFBCE4C1DD71DAEAAB4AD4CAB6Relancez 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-zipExplication 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 --versionVous 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.4Cette 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-cliL'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-cliValet 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.4Maintenant, 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 unisolateVé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 nginxIllustration
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 5001. 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.iniRecherchez et modifiez ces directives :
display_errors = On
display_startup_errors = On
error_reporting = E_ALL
log_errors = Ondisplay_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: On3. 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.logLogs Nginx
tail -f ~/.config/valet/Log/nginx-error.logRé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.



