我目前正面临Composer的问题,据我所知,OpenSSL是OpenSSL的问题。在过去的几天里,我尝试了通过网络找到的各种解决方案,但没有成功。
直截了当,当我尝试使用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
我在其他堆栈溢出帖子中读到的是这个问题与证书问题有关。就像有人建议的那样,我下载了一些证书(https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt和https://curl.haxx.se/ca/cacert.pem),并编辑了php.ini文件中的curl.cainfo
和openssl.cafile
值。不幸的是,它没有奏效。
我检查了环境变量,我没有类似SSL_CERT_FILE
或SSL_CERT_DIR
的东西。我试图创建它们并为它们分配一个值,但没有取得更多成功。
我的系统是Windows Server 2019,我自己安装了PHP,但我也尝试了Wamp安装。CURL和OpenSSL的DLL在这里,扩展在php.ini文件中启用。我在安装Composer时也遇到了此错误,所以我手动安装了它。
我不知道该去哪里看了。有人有建议吗?
提前非常感谢。
此致敬意
溶液
解决方案确实很简单:在我们的组织中,我们有自己的根证书和中间证书。我将它们都与https://curl.haxx.se/ca/cacert.pem中的pem文件合并,相应地设置php.ini文件,它解决了问题。
解决方案确实很简单:在我们的组织中,我们有自己的根证书和中间证书。我将它们都与 https://curl.haxx.se/ca/cacert.pem 中的 pem 文件合并,相应地设置 php.ini 文件,它解决了问题。