PHP问题与SSL CA证书(路径?访问权限?)

时间:2011-08-24 16:48:43

标签: php curl

我收到此错误:

“SSL CA证书问题(路径?访问权限?)”

做的时候:

$curl = curl_init('https://example.com' . ($method == 'GET' && $params ? '?' . $params : ''));

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); 
$response = curl_exec($curl);

print curl_error($curl)

在其他服务器上正常运行。

SSL正在使用NSS。 PHP 5.3.6

6 个答案:

答案 0 :(得分:26)

这种情况发生在使用PayPal IPN的两台服务器上,两者大约在同一时间。

修复是重启Apache。

答案 1 :(得分:12)

如果您收到“SSL CA证书问题(路径?访问权限?)”,则很可能意味着您已删除/etc/pki/tls/certs/中的所有内容或设置了无效权限(CHMOD)。

如果您使用的是RHEL / CentOS,请尝试yum reinstall openssl ca-certificates -y

答案 2 :(得分:7)

刚刚升级到PHP 5.5.17,这就是故障开始的时候。服务器运行PayPal事务,cURL开始失败,出现此错误:“SSL CA证书问题(路径?访问权限?)”。

我尝试重新生成证书,修改curl选项,没有任何东西让我随处可见。 解决方案是简单地重启服务器(在我的情况下是CentOS 6.5)。希望这有助于某人。

答案 3 :(得分:1)

更新软件包后发生在我身上。

一旦我重新启动了apache,它就得到了修复。

然后我在生产服务器上安装了它,我又得到了它。 这次是/ etc / pki / tls / certs /

下的证书

备份文件,此命令将修复它:

curl http://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt

答案 4 :(得分:0)

通过重命名nssdb来实现它:

mv /etc/pki/nssdb /etc/pki/nssdb.old

答案 5 :(得分:0)

在Ubuntu上,您需要安装CA证书,以允许基于SSL的应用程序通过以下方式检查SSL连接的真实性:

sudo apt-get install ca-certificates

请参阅:cURL not working (Error #77) for SSL connections