我试图安装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.

问题是,我有卷曲扩展启用(未注释在php.ini)。当我运行phpinfo()时,它说它已启用。 我唯一的线索是,当我运行$ php -m, '卷曲'行是缺失的,但我不知道该怎么做。

我在Win8上有wamp 2.4,我在cmd.exe中运行作曲家。


当前回答

这个对我很有用:http://ubuntuforums.org/showthread.php?t=1519176

使用curl -sS https://getcomposer.org/installer | php命令安装composer后,只需运行sudo apt-get update,然后使用sudo apt-get install php5-curl重新安装curl。然后,composer的安装过程应该可以工作,这样您就可以最终运行php composer了。Phar install以获得在您的编写器中列出的依赖项。json文件。

其他回答

在我的例子中,我从PHP5移动到PHP7,我得到了这个错误, 只需转到/bin/php/php7/php.ini,然后取消注释extension=php_curl.dll,重新启动服务器,重新运行composer安装。

对于任何在Windows上遇到这个问题的人,我在谷歌上根本找不到我的答案。 我刚刚试着运行作曲家要求ext-curl,这是有效的。 或者在编写器中添加以下内容。json文件:

"require": {
"ext-curl": "^7.3"
}

尝试使用下面的代码片段安装php5-curl。

sudo apt-get install php5-curl

如果它不能工作,尝试下面的代码,我相信它会工作得很好。

sudo apt-get install php-curl

对我来说很有效……祝一切顺利:)

例如在php7上运行:

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

对于每一个缺失的扩展。然后:

> sudo apt-get update

最后(在项目的根文件夹中):

> composer install

如果你得到像php7.2-curl没有可安装的候选或不定位任何包或依赖是php7.2-common或libcurl3这样的错误

你必须用成熟的方式来处理。安装aptitude这些ubuntu包管理器会找到所有的依赖项,并逐个安装。

apt-get install aptitude

现在你必须检查资质是否可以下载它,如果下载它按照说明

sudo aptitude install php7.2-curl

如果你遇到类似这样的错误

E:无法定位包php7.2-curl E:通过glob 'php7.2-curl'找不到任何包

任何类型的错误,我不是说这些错误

尝试重新添加php包

sudo apt-add-repository ppa:ondrej/php

sudo apt-get update

现在试试这个命令

sudo aptitude install php7.2-curl

Aptitude会询问你是否想要保留所有依赖项的当前版本

以下操作将解决这些依赖项: 保持以下包的当前版本: 1) php7.2-curl[未安装] 接受这个解决方案吗?[Y / n / q / ?]

输入n,然后回车

Aptitude会找到所有依赖项,并要求您安装所有包类型

y

再一次

y

Then

systemctl restart apache2

数吨的rhel

systemctl restart httpd

默认情况下不启用PHP 7.2 FPM。 注意:要在Apache2中启用PHP 7.2 FPM

a2enmod proxy_fcgi setenvif

a2enconf php7.2-fpm

这个方法不仅仅是针对这个错误,你可以使用aptitude找到任何php apache2或ubuntu系统包解决方案。

Upvote if you find your solution