今天在使用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);