如何解决php后台脚本上的证书问题?如果我直接在浏览器中加载它,但是在从system
调用它时它不起作用,该脚本可以正常工作:
system ("php somescript.php");
它在控制台中返回了致命错误:
Fatal error: Uncaught GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate
我在这里缺少什么?
答案 0 :(得分:1)
如果Openssl库无法或不知道如何访问系统上的CA证书,或遇到其证书的服务器/客户端时,这是一个相当无用的措辞错误不是由它信任的CA签署的 Openssl通常使用默认CA目录和/或路径编译,其中包含选项--configure-ca-path和--configure-ca-bundle。 检查这是您的安装(很可能是)的情况,并且CA目录确实存在并且可以由脚本读取。 如果您的脚本提供自己的CA捆绑包作为默认CA捆绑包的替代,请检查路径是否正确 最后,可以正确设置所有内容,在这种情况下,远程证书的CA不受Openssl信任(因为它不在可信CA的列表中)。在这种情况下,您只需处理异常或修复信任问题,可以在本地通过将远程CA添加到捆绑包中,也可以通过将证书更改为可信任的证书来远程处理。