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), et mbstring ou iconv. Vérifiez / activez-les via PHP Selector ou MultiPHP (voir : Comment changer la version et les extensions PHP).
  • Directives PHP utiles : allow_url_fopen = On et (pour de très anciennes versions) zend.detect_unicode = Off. Si vous ne pouvez pas modifier php.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).
Menu cPanel : icône Terminal pour ouvrir la console
Ouvrez le Terminal depuis cPanel (Home > Advanced > Terminal) pour lancer les commandes CLI.

Choisir la méthode

Deux approches :

  1. Installation globale (root) — l’administrateur installe Composer pour tous les comptes (utile sur VPS/dédié).
  2. 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.

  1. Connectez‑vous en SSH en tant que root : ssh [email protected] (remplacez example.com et l’utilisateur selon votre configuration).
  2. Vérifiez que la version CLI de PHP utilisée pour Composer dispose de phar et de mbstring / iconv, et que allow_url_fopen est activé. L’administrateur peut ajuster ces options via MultiPHP INI Editor ou EasyApache 4 si nécessaire.
  3. Accès à l'éditeur MultiPHP INI dans cPanel pour modifier les options PHP
    Exemple : éditeur INI MultiPHP pour modifier les directives PHP appliquées au domaine ou à l’interface CLI.
  4. Téléchargez et vérifiez l’installateur officiel Composer, puis installez‑le dans /usr/local/bin :
    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
    Après l’installation, /usr/local/bin/composer doit être exécutable. (Si nécessaire : chmod +x /usr/local/bin/composer.)
  5. Vérifiez l’installation : composer --version.
  6. 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) :
    cat > /etc/cagefs/conf.d/composer.cfg <<'EOF'
    [composer]
    comment=Composer
    paths=/usr/local/bin/composer
    EOF
    cagefsctl --force-update
    Cette étape rend le binaire accessible aux utilisateurs enfermés par CageFS.

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.

  1. Ouvrez le Terminal cPanel ou connectez‑vous en SSH avec votre compte cPanel.
  2. Positionnez‑vous dans le répertoire du projet (ex. ~/public_html/mon-projet) :
    cd ~/public_html/mon-projet
    Terminal cPanel avec la commande cd public_html pour accéder au dossier web
    Placez‑vous dans la racine du projet avant d’installer les dépendances.
  3. Téléchargez l’installateur et créez composer.phar dans le dossier courant :
    php -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 courant
    Lancez Composer localement par php composer.phar ou créez un alias (étape suivante).
  4. Pour lancer Composer comme une commande ordinaire, deux options simples :
    1. Créer un alias (temporaire/pour l’utilisateur) :
      echo "alias composer='php ~/public_html/mon-projet/composer.phar'" >> ~/.bashrc
      source ~/.bashrc
    2. ou déplacer et rendre exécutable dans ~/.local/bin ou ~/bin et ajouter ce dossier au PATH :
      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

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 dans composer.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/bin est dans le PATH ou exécutez directement /usr/local/bin/composer --version.
  • Si vous avez une copie locale : ajoutez le dossier contenant composer (ex. ~/bin) au PATH dans ~/.bashrc et source ~/.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 install ou composer update en tant que root sur 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-autoloader et conservez composer.lock dans votre gestionnaire de versions pour garantir des dépendances reproductibles.
  • Si vous automatisez des installations (CI/CD), limitez les risques avec --no-plugins --no-scripts quand nécessaire et vérifiez les packages importés.

Liens internes utiles

Ressources et références


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.