Я пытаюсь установить Facebook 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, и я запускаю composer в cmd.exe.
php
windows
curl
facebook-php-sdk
composer-php
Михал Артазов
источник
источник
Ответы:
Это вызвано тем, что в вашей системе не установлена библиотека php5-curl,
В Ubuntu просто запустите строковый код ниже, в вашем случае на Xamp посмотрите документацию Xamp
Для тех, кто использует php7.0
Для тех, кто использует php7.1
Для тех, кто использует php7.2
Для тех, кто использует php7.3
Или просто запустите приведенную ниже команду для установки по вашей версии:
источник
Это сработало для меня: http://ubuntuforums.org/showthread.php?t=1519176
После установки composer с помощью команды
curl -sS https://getcomposer.org/installer | php
просто запустите, аsudo apt-get update
затем переустановите curl с помощьюsudo apt-get install php5-curl
. Тогда процесс установки composer должен сработать, чтобы вы могли наконец запустить,php composer.phar install
чтобы получить зависимости, перечисленные в вашем файле composer.json.источник
Как сказал Данак в комментариях, есть 2 файла php.ini. Я раскомментировал строку с расширением curl в папке Apache, которая используется php.ini веб-сервером.
Composer, с другой стороны, использует php для консоли, что совершенно другая история. Файл php.ini для этой программы не находится в папке Apache, но находится в папке PHP, и мне тоже пришлось раскомментировать строку в нем. Затем я снова запустил установку, и все было в порядке.
источник
на php7 запустите например:
за каждое недостающее расширение. Затем:
и наконец (в корневой папке проекта):
источник
Я столкнулся с той же проблемой, пытаясь установить Dropbox SDK.
CURL действительно был включен в моей системе, но это подразумевалось php.ini в папке wamp \ bin \ apache.
Мне просто пришлось вручную отредактировать php.ini, расположенный в wamp \ bin \ php, раскомментировать
extension=php_curl.dll
строку, перезапустить Wamp, и все заработало отлично.Почему есть эти 2 php.ini и используется только один, для меня пока загадка ...
Надеюсь, это поможет кому-то!
источник
$ php -S localhost:8000
в консоли;
в файле php.ini ...У меня была эта проблема после обновления до PHP5.6. Мой ответ очень похож на ответ Адриано, за исключением того, что мне пришлось бежать:
Обратите внимание на «5,6». Установка php5-curl не работает для меня.
источник
В соответствии с https://github.com/composer/composer/issues/2119 вы можете расширить свой локальный компьютер,
composer.json
заявив, что он предоставляет расширение (чего на самом деле он не делает, поэтому не следует публично публиковать свой пакет, только использовать его внутренне).источник
provide
для которых пакет, который называется так же, как расширение PHP, также будут удовлетворять требованиям, поскольку на этапе сравнения требуемого и существующего содержимого расширение представляет собой просто строку, аналогичную имени пакета библиотеки.Включить в php 7 попробуйте команду ниже
источник
Я столкнулся с подобной проблемой при попытке заставить композитора установить некоторые зависимости. Оказывается, .dll, с которой пришла моя версия Wamp, имел конфликт, я полагаю, с 64-битной Windows.
Этот URL-адрес имеет фиксированные локоны: 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.
Надеюсь это поможет.
источник
Для тех, кто сталкивается с этой проблемой в Windows, я не смог найти свой ответ на Google вообще. Я только что попробовал запустить composer требуют ext-curl, и это сработало. В качестве альтернативы добавьте следующее в ваш файл composer.json:
источник
если использовать wamp, перейдите по ссылке:
wamp\bin\php\php.5.x.x\php.ini
найти:;extension=php_curl.dll
удалить (;)источник
У меня есть Archlinux с php 7.2, в который встроен Curl, так что никакая конфигурация voodoo не заставит Composer видеть ext-curl, который PHP мог бы видеть и работать с удовольствием. Обходной путь - использовать Composer с --ignore-platform-reqs.
например, обновление композитора --ignore-platform-reqs
Ссылка = https://github.com/composer/composer/issues/1426
источник
Попробуйте установить php5-curl, используя приведенный ниже фрагмент кода.
если это не сработает, попробуйте ниже код, я уверен, что он будет работать нормально.
для меня это сработало ... всего наилучшего :)
источник
В моем случае я перешел с PHP5 на PHP7, и у меня появилась эта ошибка. Просто перейдите в ваш /bin/php/php7/php.ini, затем раскомментируйте extension = php_curl.dll и перезапустите сервер, перезапустите установку composer.
источник
Не уверен, почему ответ с командами Linux получил бы столько голосов за вопрос, связанный с Windows, но все равно ...
Если
phpinfo()
показывает Curl как включенный, ноphp -m
не делает, это означает, что у вас, вероятно,php-cli.ini
тоже. запуститеphp -i
и посмотрите, какой загруженный INI-файл. Если он отличается, отразите его и отразите различия в файле CLI. Тогда тебе должно быть хорошо идти.Кстати скачать и использовать Git Bash вместо cmd.exe!
источник