PHP问题与SSL CA证书

问题描述:

我得到这个错误(路径的访问权限?):PHP问题与SSL CA证书

“问题与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

+0

这个问题类似:HTTP:// *.com/questions/26099849/amazon-marketplacewebserviceorders-requests-suddenly-failing-php-curl-giving-ss – Marty

+0

我知道这是一个老问题的一点点,但你可以选择一个“正确的答案”? – gillytech

+0

已经选择了对我有用的东西。 –

得到它的工作,通过重命名nssdb:

mv /etc/pki/nssdb /etc/pki/nssdb.old 
+0

由于某种原因,此解决方案对我无效。看来问题是由升级libcurl引起的。在我的情况下,我不希望任何验证,但我似乎无法禁用整个事情。有人有其他建议吗? – Greg

过这种情况给使用贝宝IPN,无论是在大约在同一时间两个服务器。

修复是重启Apache。

+1

也发生了。自动更新发生了,它创建了一个新的/etc/pki/nssdb/pkcs11.txt文件(并将旧文件移动到了/etc/pki/nssdb/pkcs11.txt.rpmnew)。文件内容相同。日志中没有警告或其他信息。 我不知道自动更新是不是罪魁祸首。无论如何,重新启动php-fpm的确解决了这个问题。 –

+5

值得一提的是,对于Apache来说,简单的平稳重启还不够。我不得不重新启动服务(即'service httpd restart')。不知道为什么造成这种差异,但它确实如此。 – Johno

+1

对于那些在CentOS上使用nginx + php-fpm的人:'sudo service php-fpm restart'应该这样做: – Curious

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

如果您使用RHEL/CentOS的,尽量yum reinstall openssl ca-certificates -y

+1

这,而不是重新启动/重新启动帮助我。 –

+0

也许'apt-transport-https' – Jonathan

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

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

+2

我同意;重启服务器也为我解决了问题:) – Latheesan

它发生在我更新软件包后。

一旦我重新启动Apache,它已经修复。

然后我将它安装在生产服务器上,然后再次得到它。 这一次是在在/ etc/PKI/TLS /证书的证书混乱/

备份的文件和该命令将修复它:

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