【发布时间】:2019-10-27 15:57:44
【问题描述】:
我目前正面临 Composer 的问题,据我所知,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
我在其他 Stack Overflow 帖子中看到的是这个问题与证书问题有关。就像建议的那样,我下载了一些证书(https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt 和 https://curl.haxx.se/ca/cacert.pem)并在我的 php 中编辑了值 curl.cainfo 和 openssl.cafile。 ini 文件。不幸的是,它不起作用。
我检查了环境变量,但没有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文件,问题就解决了。
【问题讨论】:
-
您应该发布解决方案作为答案。
标签: php openssl composer-php windows-server