使用PHP curl请求https的时候出现错误“SSL certificate problem: self signed certificate in certificate chain”,这种情况是无法验证客户端根证书导致,解决办法如下。

方法一

忽略证书验证,在curl方法中添加以下代码即可。

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

缺点: 每个curl方法中都要添加上面的方法,有点麻烦。

方法二:

从curl官方网站,下载根证书:cacert.pem ,然后修改php.ini中加入该证书,并重启web服务。

#在php.ini中加入[SSL]
curl.cainfo = "D:xamppphpcacert.pem"openssl.cafile = "${curl.cainfo}"

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章