1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Modifier la version de PHP en CLI
Ce guide explique comment modifier la version de PHP utilisée en ligne de commande (PHP CLI) sur un Hébergement Web Infomaniak.
Préambule
- Ce guide est utile si vous devez ajuster temporairement des paramètres pour un script spécifique ou pour une session PHP exécutée en ligne de commande (CLI).
- Pour modifier la version de PHP générale utilisée par votre hébergement sur le serveur web (FPM/Apache) via le Manager Infomaniak, consultez cet autre guide.
Version par défaut de PHP en ligne de commande
Lorsque vous exécutez la commande php (en général via /usr/bin/php), c’est la version par défaut de PHP configurée sur le serveur qui est utilisée. Cette version peut évoluer au fil du temps selon les mises à jour de la plateforme.
Pour connaître la version exacte actuellement active sur votre hébergement, exécutez :
php -vPour garantir la stabilité de vos scripts, il est recommandé d’utiliser une version explicite (php7.4, php8.0, php8.1, etc.) ou d’ajuster votre variable PATH afin de pointer vers le répertoire de la version souhaitée (par exemple /opt/php8.1/bin).
Modifier la version de PHP utilisée en CLI
Il existe deux fichiers principaux pouvant être utilisés pour configurer la version de PHP chargée automatiquement dans votre session SSH :
1. Utilisation de ~/.bashrc (recommandé)
Le fichier .bashrc est lu par Bash lors de l’ouverture d’un shell interactif (non-login), c’est-à -dire dans la majorité des cas lorsque vous ouvrez une session SSH normale ou exécutez des commandes via des outils de déploiement.
Créez le fichier
~/.bashrcs’il n’existe pas, puis ouvrez-le :touch ~/.bashrc nano ~/.bashrcAjoutez la ligne suivante pour spécifier la version de PHP souhaitée (exemple : PHP 8.1) :
export PATH="/opt/php8.1/bin:$PATH"Rechargez votre environnement :
source ~/.bashrcVérifiez la version actuellement utilisée :
php -v which phpVous devriez voir un chemin du type
/opt/php8.1/bin/php.
2. Utilisation de ~/.profile (alternative)
Le fichier .profile est lu uniquement lorsque le shell est lancé en mode login (par exemple lors d’une première connexion SSH). Si votre environnement ne charge pas .bashrc automatiquement, vous pouvez y définir la version de PHP directement.
Créez le fichier
~/.profiles’il n’existe pas, puis ouvrez-le :touch ~/.profile nano ~/.profileAjoutez la ligne suivante :
export PATH="/opt/php8.1/bin:$PATH"Rechargez votre environnement :
source ~/.profile
3. Charger .bashrc depuis les autres profils
Pour garantir que la configuration soit chargée dans tous les types de sessions (login et non-login), il est conseillé d’inclure dans vos fichiers ~/.bash_profile et ~/.profile la ligne suivante :
if [ -f ~/.bashrc ]; then . ~/.bashrc; fiAinsi, votre configuration PHP définie dans .bashrc sera toujours appliquée, quelle que soit la manière dont la session SSH est ouverte.
Exécuter ponctuellement une version précise
Si vous souhaitez lancer un script avec une version spécifique de PHP sans modifier votre environnement, vous pouvez appeler directement le binaire correspondant :
/opt/php8.1/bin/php mon_script.php
/opt/php8.2/bin/php -vAprès ces étapes, la version de PHP choisie sera chargée automatiquement à chaque ouverture d’une nouvelle session, et vos scripts CLI s’exécuteront avec la version souhaitée.