SSL证书无法获得本地颁发者证书php后台脚本

时间:2018-02-02 01:39:50

标签: php ssl

如何解决php后台脚本上的证书问题?如果我直接在浏览器中加载它,但是在从system调用它时它不起作用,该脚本可以正常工作:

system ("php somescript.php");

它在控制台中返回了致命错误:

Fatal error: Uncaught GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

如果Openssl库无法或不知道如何访问系统上的CA证书,或遇到其证书的服务器/客户端时,这是一个相当无用的措辞错误不是由它信任的CA签署的 Openssl通常使用默认CA目录和/或路径编译,其中包含选项--configure-ca-path和--configure-ca-bundle。 检查这是您的安装(很可能是)的情况,并且CA目录确实存在并且可以由脚本读取。 如果您的脚本提供自己的CA捆绑包作为默认CA捆绑包的替代,请检查路径是否正确 最后,可以正确设置所有内容,在这种情况下,远程证书的CA不受Openssl信任(因为它不在可信CA的列表中)。在这种情况下,您只需处理异常或修复信任问题,可以在本地通过将远程CA添加到捆绑包中,也可以通过将证书更改为可信任的证书来远程处理。