Ошибка установки Composer – требуется ext_curl, когда он включен

Я пытаюсь установить PHP PHP SDK с помощью Composer. Это то, что я получаю

$ 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. 

Проблема в том, что у меня включено расширение curl (раскомментировано в php.ini). Когда я запускаю phpinfo() , он говорит, что он включен. Только ключ, который у меня есть, заключается в том, что когда я запускаю $ php -m , строка «curl» отсутствует, но я не знаю, что с этим делать.

У меня есть wamp 2.4 на Win8, и я запускаю композитор в cmd.exe.

Это вызвано тем, что у вас нет библиотеки php5-curl, установленной в вашей системе,

На Ubuntu его просто пропустите код строки ниже, в вашем случае на Xamp загляните в документацию Xamp

 sudo apt-get install php5-curl 

Для тех, кто использует php7.0

 sudo apt-get install php7.0-curl 

Для тех, кто использует php7.1

 sudo apt-get install php7.1-curl 

Это сработало для меня: http://ubuntuforums.org/showthread.php?t=1519176

После установки композитора с помощью команды curl -sS https://getcomposer.org/installer | php curl -sS https://getcomposer.org/installer | php просто запустите sudo apt-get update затем переустановите завиток с помощью sudo apt-get install php5-curl . Затем процесс установки композитора должен работать, чтобы вы могли, наконец, запустить php composer.phar install чтобы получить зависимости, перечисленные в вашем файле composer.json.

Как сказал Данак в комментариях, есть 2 файла php.ini. Я раскоментировал строку с расширением curl в той папке Apache, которая является php.ini, используемой веб-сервером.

С другой стороны, Composer использует php для консоли, которая представляет собой совершенно другую историю. Файл Php.ini для этой программы не тот, который находится в папке Apache, но находится в папке PHP, и мне тоже пришлось раскомментировать его. Затем я снова запустил установку, и все было в порядке.

для запуска php7:

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

для каждого отсутствующего расширения. Затем:

 > sudo apt-get update 

и, наконец, (в корневой папке проекта):

 > composer install 

Я столкнулся с тем же вопросом, который пытался установить Dropbox SDK.

CURL действительно был включен в моей системе, но это означало php.ini в папке wamp \ bin \ apache.

Мне просто пришлось вручную отредактировать php.ini, расположенный в wamp \ bin \ php, раскомментировать extension=php_curl.dll , перезапустить Wamp и работать отлично.

Почему есть те 2 php.ini, и только один используется, все еще остается загадкой для меня …

Надеюсь, это поможет кому-то!

У меня была эта проблема после перехода на PHP5.6. Мой ответ очень похож на Адриано, за исключением того, что мне нужно было бежать:

 sudo apt-get install php5.6-curl 

Обратите внимание на «5.6». Установка php5-curl не помогла мне.

Согласно https://github.com/composer/composer/issues/2119, вы можете расширить свой локальный composer.json чтобы заявить, что он предоставляет расширение (которого он действительно не делает), поэтому вы не должны публично публиковать свои пакет, используйте его только внутри).

Я столкнулся с подобной проблемой, пытаясь заставить композитора установить некоторые зависимости. Оказывается, в .dll появилась моя версия Wamp с конфликтом, я предполагаю, с 64-битной Windows.

Этот URL-адрес имеет фиксированные сглаженные dll: http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/

Прокрутите вниз до раздела, в котором говорится: Исправлены расширения Curl.

Я загрузил «php_curl-5.4.3-VC9-x64.zip». Я просто перезаписал dll в каталоге wamp / bin / php / php5.4.3 / ext с dll, которая была в zip-файле, и композитор снова работал.

Я запускаю 64-битную Windows 8.

Надеюсь это поможет.

Включить в php 7 попробуйте ниже команду

 sudo apt-get install php7.0-curl 

если использование wamp перейдите к:

wamp\bin\php\php.5.xx\php.ini find ;extension=php_curl.dll удалить (;)