Vous venez de configurer votre hébergement Hostinger aux petits oignons. Dans votre panel, vous avez fièrement sélectionné PHP 8.4 pour propulser votre toute nouvelle application Laravel 12. Tout semble parfait.
Vous ouvrez votre terminal, prêt à lancer un composer install, et là... C'est le drame. 😱
Une erreur rouge vif vous hurle que votre version de PHP est trop ancienne (généralement la 8.1 ou 8.2). Vous tapez php -v et le terminal vous confirme cruellement : PHP 8.2.29.
Mais pourquoi ?
Pas de panique ! C'est un grand classique sur les environnements CloudLinux comme Hostinger. Votre serveur web utilise bien la version 8.4, mais votre terminal (CLI) reste bloqué sur une version par défaut plus ancienne. C'est comme avoir un moteur de Ferrari sous le capot, mais démarrer avec la clé d'une Twingo.
Dans cet article, on va régler ça en 3 minutes chrono pour que vous puissiez enfin lancer vos commandes Artisan et Composer avec la bonne version. C'est parti ! 🚀
Sommaire
Pourquoi ce décalage de versions PHP ?
Étape 1 : Le diagnostic (La preuve par 9)
Étape 2 : Trouver la "vraie" version PHP 8.4
Étape 3 : La solution permanente (L'Alias magique)
FAQ : Vos questions fréquentes
Pourquoi ce décalage de versions PHP ?
Imaginez votre serveur comme un immeuble.
La partie Web (Apache/Nginx) : C'est votre appartement rénové. Vous avez choisi la déco (PHP 8.4).
La partie Console (SSH/Terminal) : C'est le couloir de l'immeuble. Il est géré par le syndic (l'hébergeur) et utilise une version "standard" (souvent PHP 8.2) pour garantir la stabilité pour tous les locataires.
Le problème, c'est que Composer et Laravel s'en fichent de votre appartement. Ils travaillent dans le couloir ! Si vous forcez PHP 8.4 dans votre composer.json, ils vont refuser de travailler avec les outils du couloir.
Heureusement, CloudLinux cache les autres versions dans un placard secret. On va aller les chercher.
Étape 1 : Le diagnostic (La preuve par 9)
Connectez-vous à votre terminal (SSH) et vérifiez la situation actuelle.
Tapez simplement :
php -vSi vous voyez quelque chose comme PHP 8.2.29, alors que vous voulez de la 8.4, vous êtes au bon endroit.
Vous êtes sur Hostinger avec CloudLinux 8, et PHP CLI est toujours en 8.2.29 alors que vous avez activé PHP 8.4 pour le web.
Solution pour CloudLinux/Hostinger
Sur CloudLinux, utilisez la commande scl pour changer la version PHP :
# 1. Vérifier les versions PHP disponibles
scl --list
# 2. Activer PHP 8.4 pour la session actuelle
scl enable php84 bash
# 3. Vérifier que c'est bien activé
php -v
# 4. Maintenant utiliser Composer
composer update
Après
# Aller dans votre dossier
cd ~/domains/votredomaine.com/public_html/
# Activer PHP 8.4
scl enable php84 bash
# Vérifier la version (devrait afficher 8.4.x)
php -v
# Vider les caches
composer clear-cache
rm -rf vendor/
rm composer.lock
# Réinstaller les dépendances
composer install
# Vérifier que Laravel fonctionne
php artisan --version
⚠ Si scl enable php84 bash ne marche pas
Essayez ces alternatives :
# Alternative 1 : Vérifier les versions disponibles
ls /opt/alt/php*/bin/php
# Alternative 2 : Utiliser le chemin direct
/opt/alt/php84/bin/php -v
/opt/alt/php84/bin/php /usr/local/bin/composer update
# Alternative 3 : Créer un alias permanent
echo "alias php84='/opt/alt/php84/bin/php'" >> ~/.bashrc
source ~/.bashrc
php84 -v
php84 /usr/local/bin/composer updateÉtape 2 : Solution directe - Utiliser le chemin complet
Trouver la "vraie" version PHP 8.4
Sur Hostinger et CloudLinux, les binaires PHP sont souvent cachés dans le dossier /opt/alt/.
J'ai fouillé pour vous (littéralement, c'était dans les logs !), et le chemin exact pour PHP 8.4 n'est pas toujours évident. Parfois scl enable ne fonctionne pas comme prévu.
Voici la commande pour tester si le Graal est bien là. Tapez ceci :
/opt/alt/php84/usr/bin/php -vou
# 1. Vérifier que PHP 8.4 existe
/opt/alt/php84/bin/php -v
# 2. Créer un alias permanent
echo "alias php84='/opt/alt/php84/bin/php'" >> ~/.bashrc
source ~/.bashrc
# 3. Vérifier l'alias
php84 -vSi le terminal vous répond :
PHP 8.4.14 (cli) ...
BINGO ! 🎉 Vous avez trouvé le moteur de la Ferrari.
(Note : Si ça ne marche pas, essayez /opt/alt/php84/bin/php, mais sur les configurations récentes, c'est souvent le chemin avec /usr/ qui gagne).
Utiliser PHP 8.4 avec Composer
# Vider les caches
/opt/alt/php84/bin/php /usr/local/bin/composer clear-cache
# Supprimer vendor et lock
rm -rf vendor/
rm composer.lock
# Réinstaller avec PHP 8.4
/opt/alt/php84/bin/php /usr/local/bin/composer install
# Vérifier Laravel
/opt/alt/php84/bin/php artisan --versionOu avec l'alias (plus simple)
# Après avoir créé l'alias ci-dessus
php84 /usr/local/bin/composer install
php84 artisan migrate
php84 artisan --versionÉtape 3 : La solution permanente (L'Alias magique)
Maintenant, on ne va pas taper /opt/alt/php84/usr/bin/php à chaque fois qu'on veut lancer une migration, n'est-ce pas ? Ce serait l'enfer.
On va créer un alias. C'est comme dire à votre terminal : "Eh, quand je tape 'php', n'utilise pas la vieillerie du couloir, utilise celui que j'ai trouvé !".
La commande magique
Copiez-collez ces deux lignes dans votre terminal :
# 1. On crée l'alias dans votre fichier de configuration personnel
echo "alias php='/opt/alt/php84/usr/bin/php'" >> ~/.bashrc
# 2. On recharge la configuration pour que ça marche tout de suite
source ~/.bashrcEt voilà ! C'est fini.
Le test final
Vérifiez que la magie a opéré :
php -vVous devriez voir PHP 8.4. Vous pouvez maintenant lancer vos commandes préférées sans douleur :
php composer.phar installphp artisan migratephp artisan storage:link
Tout fonctionne avec la dernière version, prête pour Laravel 12 !
❓ FAQ : Questions Fréquentes
1. Est-ce que cela change la version PHP de mon site web ? Non, pas du tout ! Cela change uniquement la version utilisée en ligne de commande (CLI). Votre site web continuera d'utiliser la version définie dans votre panneau de contrôle Hostinger.
2. J'ai fermé mon terminal et ça ne marche plus ! Si vous avez bien utilisé la commande echo ... >> ~/.bashrc, cela devrait être permanent. Assurez-vous simplement que vous êtes bien sur le shell bash. Si vous utilisez zsh, il faudra mettre l'alias dans .zshrc.
3. Et pour Composer ? Composer utilise la version de PHP active dans votre terminal. Une fois l'alias en place, quand vous tapez php composer.phar update, Composer utilisera automatiquement PHP 8.4. Plus de conflits de dépendances !
J'espère que cette petite astuce vous a sauvé quelques cheveux ! C'est typiquement le genre de détail qui peut bloquer une après-midi entière.
Maintenant que votre environnement est propre, il est temps de retourner coder cette feature incroyable sur Laravel. Bon code à vous ! 💻✨
Une dernière chose que je peux faire pour vous ?
Voulez-vous que je vous prépare un petit script bash automatique qui détecte la version de PHP disponible et crée l'alias tout seul pour vos futurs projets ?





