Résumé rapide : Composer est le gestionnaire de dépendances pour les projets PHP. Sur cPanel, vous devez exécuter Composer depuis la ligne de commande (Terminal ou SSH) et disposer de certaines extensions/options PHP. Selon votre type d’hébergement, vous pouvez installer Composer globalement (requiert l’accès root) ou localement dans votre répertoire projet (recommandé sur mutualisé).
Avant de commencer — prérequis
- Accès SSH ou au Terminal cPanel (cPanel → Home → Advanced → Terminal). Si l’option Terminal est désactivée, demandez à votre hébergeur. Pour savoir comment accéder à cPanel, voyez notre guide interne : Comment accéder à mon compte cPanel.
- Si vous installez Composer pour tous les comptes : accès
root(VPS / serveur dédié). Sur un hébergement mutualisé : installez Composer localement dans votre dossier utilisateur (aucun root requis). - Extensions PHP nécessaires :
phar(généralement disponible), etmbstringouiconv. Vérifiez / activez-les via PHP Selector ou MultiPHP (voir : Comment changer la version et les extensions PHP). - Directives PHP utiles :
allow_url_fopen = Onet (pour de très anciennes versions)zend.detect_unicode = Off. Si vous ne pouvez pas modifierphp.ini, il existe des options de contournement (voir plus bas). - Sur serveurs CloudLinux protégés par CageFS : l’administrateur doit exposer le binaire Composer aux comptes CageFS (procédure indiquée ci‑dessous).
Choisir la méthode
Deux approches :
- Installation globale (root) — l’administrateur installe Composer pour tous les comptes (utile sur VPS/dédié).
- Installation locale (sans root) — installez Composer dans votre dossier utilisateur ou projet. Recommandée sur les offres mutualisées.
Méthode A — Installation globale (administrateur root)
Procédure pour rendre Composer disponible system-wide.
- Connectez‑vous en SSH en tant que
root:ssh [email protected](remplacezexample.comet l’utilisateur selon votre configuration). - Vérifiez que la version CLI de PHP utilisée pour Composer dispose de
pharet dembstring/iconv, et queallow_url_fopenest activé. L’administrateur peut ajuster ces options via MultiPHP INI Editor ou EasyApache 4 si nécessaire. - Téléchargez et vérifiez l’installateur officiel Composer, puis installez‑le dans
/usr/local/bin:
Après l’installation,cd /tmp php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" EXPECTED_SIG=$(php -r "echo trim(file_get_contents('https://composer.github.io/installer.sig'));") php -r "if (hash_file('sha384', 'composer-setup.php') === '$EXPECTED_SIG') { echo 'Installer verified'.PHP_EOL; } else { echo 'Installer corrupt'.PHP_EOL; unlink('composer-setup.php'); exit(1); }" php composer-setup.php --install-dir=/usr/local/bin --filename=composer rm composer-setup.php/usr/local/bin/composerdoit être exécutable. (Si nécessaire :chmod +x /usr/local/bin/composer.) - Vérifiez l’installation :
composer --version. - Si le serveur utilise CloudLinux + CageFS, exposez Composer aux comptes CageFS : créez un fichier de configuration et mettez à jour CageFS (commande exécutée en root) :
Cette étape rend le binaire accessible aux utilisateurs enfermés par CageFS.cat > /etc/cagefs/conf.d/composer.cfg <<'EOF' [composer] comment=Composer paths=/usr/local/bin/composer EOF cagefsctl --force-update
Méthode B — Installer Composer localement (sans root) — recommandé sur mutualisé
Installez Composer dans le répertoire de votre projet ou dans votre dossier personnel et exécutez‑le en tant qu’utilisateur cPanel.
- Ouvrez le Terminal cPanel ou connectez‑vous en SSH avec votre compte cPanel.
- Positionnez‑vous dans le répertoire du projet (ex.
~/public_html/mon-projet) :cd ~/public_html/mon-projet
Placez‑vous dans la racine du projet avant d’installer les dépendances. - Téléchargez l’installateur et créez
composer.phardans le dossier courant :
Lancez Composer localement parphp -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php composer-setup.php php -r "unlink('composer-setup.php');" # Résultat : composer.phar dans le répertoire courantphp composer.pharou créez un alias (étape suivante). - Pour lancer Composer comme une commande ordinaire, deux options simples :
- Créer un alias (temporaire/pour l’utilisateur) :
echo "alias composer='php ~/public_html/mon-projet/composer.phar'" >> ~/.bashrc source ~/.bashrc - ou déplacer et rendre exécutable dans
~/.local/binou~/binet ajouter ce dossier auPATH:mkdir -p ~/bin mv composer.phar ~/bin/composer chmod +x ~/bin/composer # si nécessaire, ajoutez au PATH echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
- Créer un alias (temporaire/pour l’utilisateur) :
Exécuter Composer quand vous ne pouvez pas modifier php.ini
Si vous n’avez pas la possibilité d’éditer php.ini, vous pouvez forcer des directives PHP en ligne de commande :
php -d allow_url_fopen=1 -d zend.detect_unicode=0 composer.phar install
Note : zend.detect_unicode concerne de très anciennes versions PHP ; sur les versions récentes la directive n’existe plus.
Commandes utiles
composer --version— affiche la version de Composer.composer diagnose— outil d’auto‑diagnostic pour détecter problème de configuration.composer install— installe les dépendances listées danscomposer.json.composer update— met à jour les dépendances en respectant les contraintes.composer self-update— met à jour Composer lui‑même (uniquement pour la copie que vous gérez).- En cas d’erreur mémoire :
COMPOSER_MEMORY_LIMIT=-1 composer install
Dépannage — erreurs fréquentes et solutions
1) « command not found »
Cause : le binaire composer n’est pas dans le PATH. Solutions :
- Si vous avez installé globalement : vérifiez que
/usr/local/binest dans lePATHou exécutez directement/usr/local/bin/composer --version. - Si vous avez une copie locale : ajoutez le dossier contenant
composer(ex.~/bin) auPATHdans~/.bashrcetsource ~/.bashrc, ou créez un alias.
2) Avertissement « Composer should be invoked via the CLI version of PHP, not the cgi-fcgi SAPI »
Signification : l’interpréteur PHP appelé par composer est la SAPI utilisée par le serveur web (cgi/fcgi) et non le binaire CLI. Solution : invoquez explicitement le binaire PHP CLI. Exemple (remplacez la version) :
/opt/cpanel/ea-php74/root/usr/bin/php ~/bin/composer diagnose
Si votre hébergement fournit plusieurs builds PHP via SCL, vous pouvez utiliser scl enable ea-php74 'composer diagnose' (disponible uniquement si SCL est installé).
3) Composer utilise la mauvaise version de PHP
Cause : php sur le PATH pointe vers une autre version. Solution : appelez le binaire CLI complet (chemin absolu) comme ci‑dessus ou ajustez l’alias pour pointer vers le binaire CLI correct.
4) « Composer could not find a composer.json file »
Assurez‑vous d’être dans le dossier contenant composer.json (racine du projet) avant d’exécuter composer install.
5) Erreurs d’écriture dans vendor/ ou permissions refusées
Vérifiez que vous exécutez Composer en tant qu’utilisateur propriétaire des fichiers web (n’exécutez pas Composer en root sur un projet web). Corrigez la propriété si nécessaire :
chown -R votre_user:votre_user vendor/
6) Problèmes liés à CageFS (CloudLinux)
Si CageFS bloque l’accès au binaire Composer, demandez à l’administrateur d’ajouter Composer à la configuration CageFS et d’exécuter cagefsctl --force-update (voir procédure ci‑dessus).
Bonnes pratiques et sécurité
- N’exécutez pas
composer installoucomposer updateen tant querootsur un projet web : certains packages peuvent lancer des scripts post‑install qui s’exécutent avec les mêmes privilèges. - Pour un site en production : utilisez
composer install --no-dev --optimize-autoloaderet conservezcomposer.lockdans votre gestionnaire de versions pour garantir des dépendances reproductibles. - Si vous automatisez des installations (CI/CD), limitez les risques avec
--no-plugins --no-scriptsquand nécessaire et vérifiez les packages importés.
Liens internes utiles
- Comment accéder à mon compte cPanel — pour ouvrir le Terminal ou vous connecter en SSH.
- Comment changer la version et les extensions PHP — pour activer
mbstring,phar, etc.
Ressources et références
- How to Set Up PHP Composer — cPanel Documentation
- How to install composer on cPanel version 130 and higher — cPanel Support
- How To Update Composer On My Server? — cPanel Support
Besoin d’aide ? Si vous préférez que notre équipe réalise l’installation sur un VPS/dédié ou vérifie la configuration CageFS, ouvrez un ticket en précisant la version PHP cible et si le serveur utilise CloudLinux/CageFS. Sur un hébergement mutualisé, l’installation locale dans votre dossier projet reste la méthode recommandée.
Documentation de référence
- How to Set Up PHP Composer — cPanel & WHM Documentation
- How to install composer on cPanel version 130 and higher — cPanel Support
Documentation consultée le 17 octobre 2026. Les outils peuvent varier selon votre hébergement.