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(;)