J'essaye d'installer le SDK PHP Facebook avec Composer. C'est ce que je reçois
$ 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 l'extension curl est activée (non commentée dans php.ini). Quand je cours phpinfo()
, il dit que c'est activé. Le seul indice que j'ai, c'est que lorsque je cours $ php -m
, la ligne «curl» manque mais je ne sais pas quoi faire à ce sujet.
J'ai wamp 2.4 sur Win8 et j'utilise composer dans cmd.exe.
php
windows
curl
facebook-php-sdk
composer-php
Michal Artazov
la source
la source
Réponses:
Cela est dû au fait que vous n'avez pas de bibliothèque php5-curl installée dans votre système,
Sur Ubuntu, il suffit d'exécuter le code de ligne ci-dessous, dans votre cas sur Xamp, jetez un œil à la documentation Xamp
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
Ou exécutez simplement la commande ci-dessous pour installer par votre version:
la source
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
exécutez simplement unsudo apt-get update
puis réinstallez curl avecsudo apt-get install php5-curl
. Ensuite, le processus d'installation de compositeur devrait fonctionner afin que vous puissiez enfin exécuterphp composer.phar install
pour obtenir les dépendances répertoriées dans votre fichier composer.json.la source
Comme l'a dit Danack dans les commentaires, il existe 2 fichiers php.ini. J'ai décommenté la ligne avec l'extension curl dans celle du dossier Apache, qui est php.ini utilisé par le serveur Web.
Composer, quant à lui, utilise php pour console, ce qui est une toute autre histoire. Le fichier Php.ini de ce programme n'est pas celui du dossier Apache mais il se trouve dans le dossier PHP et j'ai également dû décommenter la ligne. Ensuite, j'ai exécuté à nouveau l'installation et c'était OK.
la source
sur php7 par exemple:
pour chaque extension manquante. Ensuite:
et enfin (dans le dossier racine du projet):
la source
J'ai rencontré le même problème en essayant d'installer le SDK Dropbox.
CURL était en effet activé sur mon système mais cela signifiait par le php.ini dans le dossier wamp \ bin \ apache.
J'ai simplement dû éditer manuellement le php.ini situé dans wamp \ bin \ php, décommenter la
extension=php_curl.dll
ligne, redémarrer Wamp et cela a parfaitement fonctionné.Pourquoi il y a ces 2 php.ini et qu'un seul est utilisé est encore un mystère pour moi ...
J'espère que ça aide quelqu'un!
la source
$ php -S localhost:8000
dans la console;
dans le fichier php.ini ...J'ai eu ce problème après la mise à niveau vers PHP5.6. Ma réponse est très similaire à celle d'Adriano, sauf que j'ai dû courir:
sudo apt-get install php5.6-curl
Notez le "5.6". L'installation de php5-curl n'a pas fonctionné pour moi.
la source
Selon https://github.com/composer/composer/issues/2119, vous pouvez étendre votre local
composer.json
pour indiquer qu'il fournit l'extension (ce qu'il ne fait pas vraiment - c'est pourquoi vous ne devriez pas publier publiquement votre package, seulement utilisez-le en interne).la source
provide
package qui porte le même nom qu'une extension PHP satisferait également aux exigences, car au stade de la comparaison des éléments requis et existants, une extension est simplement une chaîne comme le nom d'un package de bibliothèque.Activer dans php 7 essayez ci-dessous la commande
sudo apt-get install php7.0-curl
la source
Pour tous ceux qui rencontrent ce problème sous Windows, je n'ai pas du tout trouvé ma réponse sur Google. J'ai juste essayé d'exécuter le compositeur requiert ext-curl et cela a fonctionné. Vous pouvez également ajouter ce qui suit dans votre fichier composer.json:
"require": { "ext-curl": "^7.3" }
la source
J'ai rencontré un problème similaire en essayant de demander à composer d'installer certaines dépendances. Il s'avère que le .dll avec lequel ma version de Wamp est fournie avait un conflit, je suppose, avec Windows 64 bits.
Cette URL a corrigé les dll curl: http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/
Faites défiler jusqu'à la section qui dit: Extensions de Curl fixes.
J'ai téléchargé "php_curl-5.4.3-VC9-x64.zip". J'ai juste écrasé la dll dans le répertoire wamp / bin / php / php5.4.3 / ext avec la dll qui était dans le fichier zip et le compositeur a fonctionné à nouveau.
J'utilise Windows 8 64 bits.
J'espère que cela t'aides.
la source
si vous utilisez wamp, allez à:
wamp\bin\php\php.5.x.x\php.ini
trouver:;extension=php_curl.dll
supprimer (;)la source
J'ai Archlinux avec php 7.2, qui a Curl intégré, donc aucune quantité de configuration vaudou ne ferait voir à Composer ext-curl, que PHP pourrait voir et travailler avec plaisir. Le contournement consiste à utiliser Composer avec --ignore-platform-reqs.
par exemple, mise à jour du compositeur --ignore-platform-reqs
Référence = https://github.com/composer/composer/issues/1426
la source
essayez d'installer php5-curl en utilisant l'extrait ci-dessous.
si cela ne fonctionne pas, essayez le code ci-dessous, je suis sûr que cela fonctionnera bien.
pour moi, cela a fonctionné ... tout le meilleur :)
la source
Dans mon cas, je suis passé de PHP5 à PHP7 et j'ai cette erreur, allez simplement dans votre /bin/php/php7/php.ini, puis décommentez l'extension = php_curl.dll et redémarrez votre serveur, relancez votre installation de composer.
la source
Je ne sais pas pourquoi une réponse avec des commandes Linux obtiendrait autant de votes pour une question liée à Windows, mais de toute façon ...
Si
phpinfo()
affiche Curl comme activé, maisphp -m
PAS, cela signifie que vous en avez probablementphp-cli.ini
aussi. exécutezphp -i
et voyez quel fichier ini chargé. S'il est différent, modifiez-le et reflétez les différences dans le fichier ini CLI. Alors vous devriez être prêt à partir.Téléchargez Btw et utilisez Git Bash au lieu de cmd.exe!
la source