在PHP中使用cURL或其他网络操作时,可能会遇到一个常见的SSL证书问题,错误信息为“SSL certificate problem: unable to get local issuer certificate”。翻译过来的意思是:“SSL证书问题:无法获取本地颁发者证书”,这是因为PHP试图验证SSL证书,但是无法找到用来验证这些证书的CA(证书颁发机构)证书。
通常我们在本地调式接口时总会遇到这样的问题,那么应该怎么解决呢?
解决办法
在这种情况下,你可以在你的cURL选项中设置CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST为false,具体的代码如下:
$ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 其他cURL选项...请注意,这会使你的cURL请求对所有SSL证书都信任,包括那些可能是伪造的证书。所以代码发布到线上环境时应该改回来,只要线上是正常配置证书并且是可信的一般不会产生这个问题。
如需转载请保留本文出处: https://zhe94.com/957.html