Composer安装错误 – 实际启用时需要ext_curl
我正在尝试用Composer安装Facebook PHP SDK。 这是我得到的
$ 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”行缺失,但我不知道该怎么办。
我已经在Win8上运行了2.4,而且我正在运行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
安装composer之后 curl -sS https://getcomposer.org/installer | php
只是运行一个sudo apt-get update
然后用sudo apt-get install php5-curl
重新sudo apt-get install php5-curl
。 然后composer php的安装过程应该工作,所以你可以终于运行php composer.phar install
以获得您的composer.json文件中列出的依赖项。
正如Danack在评论中所说,有2个php.ini文件。 我取消了在Apache文件夹中的curl扩展的行,这是web服务器使用的php.ini。
composer php,另一方面,使用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确实在我的系统上启用,但这意味着在wamp \ bin \ apache文件夹中的php.ini。
我只需手动编辑位于wamp \ bin \ php中的php.ini,取消注释extension=php_curl.dll
行,重新启动extension=php_curl.dll
并完美运行。
为什么有这2个php.ini,只有一个用于我仍然是一个谜…
希望对某人有帮助!
升级到PHP5.6后,我遇到了这个问题。 我的答案和Adriano的非常相似,除了我必须运行:
sudo apt-get install php5.6-curl
注意“5.6”。 安装php5-curl对我不起作用。
根据https://github.com/composer/composer/issues/2119,你可以扩展你的本地;composer.json
,说明它提供了扩展(它并不真正做 – 这就是为什么你不应该公开发表你的包,只能在内部使用)。
当试图让作曲者安装一些依赖关系时遇到了类似的问题。 事实certificate,我的Wamp版本带来了一个冲突,我猜测,与64位Windows。
这个URL有固定的curlDLL: 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”。 我只是用zip文件中的dll覆盖了wamp / bin / php / php5.4.3 / ext目录中的dll,而composer再次运行。
我正在运行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
remove(;)