266 votes

Erreur d'installation de Composer - demande ext_curl alors qu'il est activé

J'essaie d'installer le SDK PHP de Facebook avec Composer. Voici ce que j'obtiens

$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

    Problem 1
        - Installation request for facebook/php-sdk dev-master -> satisfiable by facebook/php-sdk[dev-master].
        - facebook/php-sdk dev-master requires ext-curl * -> the requested PHP extension curl is missing from your system.

Le problème est que j'ai activé l'extension curl (décommentée dans php.ini). Lorsque je lance phpinfo() il est indiqué qu'il est activé. Le seul indice que j'ai est que lorsque je lance $ php -m La ligne 'curl' est manquante mais je ne sais pas quoi faire.

J'ai wamp 2.4 sur Win8 et je lance composer dans cmd.exe.

613voto

Adriano Rosa Points 135

Ce problème est dû au fait que la bibliothèque php5-curl n'est pas installée sur votre système,

Sur Ubuntu, il suffit de lancer la ligne de code ci-dessous, dans votre cas sur Xamp, consultez la documentation de Xamp.

sudo apt-get install php5-curl

Pour tous ceux qui utilisent php7.0

sudo apt-get install php7.0-curl

Pour ceux qui utilisent php7.1

sudo apt-get install php7.1-curl

Pour ceux qui utilisent php7.2

sudo apt-get install php7.2-curl

Pour ceux qui utilisent php7.3

sudo apt-get install php7.3-curl

Pour ceux qui utilisent php7.4

sudo apt-get install php7.4-curl

Pour ceux qui utilisent php8.0

sudo apt-get install php8.0-curl

Ou exécutez simplement la commande ci-dessous pour installer votre version :

sudo apt-get install php-curl

116voto

user2998553 Points 236

Cela a fonctionné pour moi : http://ubuntuforums.org/showthread.php?t=1519176

Après avoir installé composer à l'aide de la commande curl -sS https://getcomposer.org/installer | php il suffit d'exécuter un sudo apt-get update puis réinstallez curl avec sudo apt-get install php5-curl . Le processus d'installation du compositeur devrait alors fonctionner et vous pourrez enfin lancer php composer.phar install pour obtenir les dépendances listées dans votre fichier composer.json.

35voto

GrigoreasP Points 76

Sur php7 par exemple :

> sudo apt-get install php-curl
> sudo apt-get install php-mbstring

pour chaque extension manquante. Ensuite :

> sudo apt-get update

et enfin (dans le dossier Root du projet) :

> composer install

27voto

Michal Artazov Points 514

Comme l'a dit Danack dans les commentaires, il y a 2 fichiers php.ini. J'ai décommenté la ligne avec l'extension curl dans celui du dossier Apache, qui est le php.ini utilisé par le serveur web.

Composer, quant à lui, utilise php pour la console, ce qui est une toute autre histoire. Le fichier Php.ini pour ce programme n'est pas celui qui se trouve dans le dossier Apache mais dans le dossier PHP et j'ai dû décommenter la ligne qui s'y trouve également. J'ai ensuite relancé l'installation et tout s'est déroulé correctement.

13voto

user3497737 Points 21

J'ai rencontré le même problème en essayant d'installer Dropbox SDK.

CURL était en effet activé sur mon système mais cela signifiait par le php.ini dans le wamp \bin\apache dossier.

J'ai simplement dû éditer manuellement le php.ini situé dans wamp \bin\php , décommentez le fichier extension=php_curl.dll redémarrer Wamp et cela a fonctionné parfaitement.

La raison pour laquelle il y a ces 2 php.ini et qu'un seul est utilisé reste un mystère pour moi...

J'espère que cela sera utile à quelqu'un !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X