由于证书问题,无法安装Composer

11

我整个上午一直在试图安装Composer,以便开始使用Laravel框架。

我正在运行Windows Server R2标准版64位,带有XAMPP和PHP 7.0。

在运行Composer-Setup.exe时,我收到以下消息:

无法下载“https://getcomposer.org/versions”文件: SSL操作失败,代码为1。 OpenSSL错误消息: 错误:14090086:SSL例程:ssl3_get_server_certificate:certificate verify failed Failed to enable crypto failed to open stream: operation failed

我搜遍了网络,大部分情况下,我似乎遇到的问题是指定cacert.pem文件。

因此,我按照说明从https://curl.haxx.se/ca/cacert.pem下载了证书。

我只需创建一个.txt文件,从上述链接中将内容复制到其中,并将该文件重命名为cacert.pem文件即可。

然后在php.ini文件中指定.pem文件:

openssl.cafile=C:\cacert.pem

重新启动Apache,然后重新运行设置向导。

再次运行后,我收到完全相同的关于SSL操作失败,代码为1的错误。

希望有人能看出我在这里做错了什么?


请查看这个有关Composer的视频:https://www.youtube.com/watch?v=qQFZSfWI3-k 最近我使用了它。 - Soni Vimalkumar
这个视频与cakePHP有关,但在开始部分,他们指导如何安装composer并获取composer.phar文件。 - Soni Vimalkumar
我已经尝试过了。 - SK2017
在Git上;具有相同问题的票 https://github.com/composer/composer/issues/2798 - Soni Vimalkumar
你能否在composer下载中禁用SSL?(不建议这样做) - x01saa
显示剩余2条评论
5个回答

2
  1. 您是否正在运行最新版本的Composer?
  2. 如果您使用了HTTP代理,请尝试关闭它。
  3. 如果1和2都没有帮助,请阅读与该问题相同的票以获取更多启发。

是的,正在运行最新版本,2。我们没有代理。还有第3、我尝试了所有能找到的方法,但结果仍然一样。 - SK2017

2
你只需要在你的php.ini文件中取消注释这一行。
extension=php_openssl.dll

0

可能你在防火墙后面

在Windows中,你必须找到composer临时文件夹(用户临时文件夹)设置并重命名将https重定向为http在文件Composer-Setup.tmp中


0

在我找到的在线答案都没用的情况下,即使下载了新的证书包并更新了我的php.ini文件,有效的方法是将证书包作为命令行选项传递给安装程序:

php composer-setup.php --cafile /usr/local/etc/ssl/certs/cacert.pem

-1

php中是否启用了open_ssl?

您可能需要使用以下命令安装open_ssl:

apt-get install open-ssl


他的问题是关于Windows Server的。 - wdalhaj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接