今天在使用php curl请求一个https网站时,没有返回内容,同时curl_error没有返回错误信息,通过curl_errno发现错误码为77。
查看了php官方手册得知发生这种问题是因为本地服务器的ca证书有问题。
CURLE_SSL_CACERT_BADFILE (77) – 读取 SSL CA 证书时遇到问题(可能是路径错误或访问权限问题)
解决方法如下:
1.重新安装ca证书
sudo yum install ca-certificates
2.重启php-fpm
/etc/init.d/php-fpm restart
3.更改curl请求,增加以下两行代码
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);