Composer,Windows Server和臭名昭著的“ SSL操作失败,代码为1”错误

时间:2019-06-13 05:42:24

标签: php openssl composer-php windows-server

我目前遇到 Composer 的问题,据我所知,它是 OpenSSL 。我花了最后几天尝试通过Web找到的各种解决方案,但没有成功。

直截了当,当我尝试使用 Composer 获取一些软件包时,有时会引发以下错误:

... file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
Failed to enable crypto
failed to open stream: operation failed

我在其他 Stack Overflow 帖子中读到的是此问题与证书问题有关。像建议的那样,我下载了一些证书( https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt https://curl.haxx.se/ca/cacert.pem )并编辑了值curl.cainfo和{{1} }放在我的 php.ini 文件中。不幸的是,它没有用。

我检查了环境变量,但没有openssl.cafileSSL_CERT_FILE之类的东西。我试图创建它们并为它们分配值,但没有获得更大的成功。

我的系统是 Windows Server 2019 ,我自己安装了 PHP ,但我也尝试了 Wamp 安装。用于 CURL OpenSSL DLL 在此处,并且在 php.ini 文件中启用了扩展名。我在安装 Composer 时也遇到了此错误,所以我手动安装了它。

我不知道在哪里看。有人有建议吗?

非常感谢。

最诚挚的问候,

解决方案

解决方案确实很简单:在我们的组织中,我们拥有自己的根证书和中间证书。我将它们与 https://curl.haxx.se/ca/cacert.pem 中的 pem 文件合并,相应地设置了 php.ini 文件,它解决了问题

1 个答案:

答案 0 :(得分:0)

解决方案确实很简单:在我们的组织中,我们拥有自己的根证书和中间证书。我将它们与https://curl.haxx.se/ca/cacert.pem中的pem文件合并,相应地设置了php.ini文件,它解决了问题。