2016-01-21 129 views
2

连接PayPal(NVP)API时出现此错误; CURL请求失败:SSL连接错误(35)PayPal NVP错误:CURL请求失败:SSL连接错误(35)

这意味着我无法连接,因为我可能使用SSL3,我该如何解决这个问题,要更改我的服务器还是可以在CURL请求中修复它?

+0

你与谁一起主持?该问题驻留在托管环境中。如果你告诉他们这种情况,他们应该能够为你解决它。 –

+0

但我需要知道需要更改什么,因为它是专用服务器 –

+0

您可能只需要更新服务器上的OpenSSL版本。您需要研究POODLE漏洞。有很多关于它的信息。 –

回答

0

curl_setopt($ s,CURLOPT_SSLVERSION,CURL_SSLVERSION_TLSv1);

1

我们也面临同样的问题,我们通过将SSL设置到我们的服务器并创建ca证书,然后在我们的curl调用中添加ca认证路径来解决此问题,如以下示例所示。

CURLOPT_SSL_VERIFYPEER => true, 
    CURLOPT_SSL_VERIFYHOST => 2, 
    CURLOPT_CAINFO =>'cert.pem', 

注意:请检查您的卷曲版本并将其更新到最新版本。

服务器管理员可能会意识到这一点,比如如何设置SSL以及如何获取ca证书。

一切顺利,

3

我有,你现在面对(我也面临着来自上周与沙箱环境问题),现在你应该在你的卷曲的呼叫尝试类似的解决方法解决

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
curl_setopt($ch, CURLOPT_SSLVERSION, 6); //6 is for TLSV1.2 

详情

CURLOPT_SSLVERSION 一个CURL_SSLVERSION_DEFAULT(0),CURL_SSLVERSION_TLSv1(1),CURL_SSLVERSION_SSLv2(2), CURL_SSLVERSION_SSLv3(3),CURL_SSLVERSION_TLSv1_0(4),CURL_SSLVERSION_TLSv1_1(5)或CURL_SSLVERSION_TLSv1_2(6)

Note: Your best bet is to not set this and let it use the default. Setting it to 2 or 3 is very dangerous given the known vulnerabilities in SSLv2 and SSLv3.

鸣谢:http://php.net/manual/en/function.curl-setopt.php

希望它可以帮助的人。

+0

我一直试图解决我的问题约5小时,最后我用这个代码,它的工作..可以告诉我为什么这个错误发生?我需要降级我的PHP版本吗?我正在使用5.6 ...下面的代码究竟做了什么? curl_setopt($ ch,CURLOPT_SSLVERSION,6); ..非常感谢 – Sarah

+1

其实paypal升级了tls v1.2,它可以通过托管提供商检查来修复,或者另一种情况是将curl选项ssl版本设置为6来强制版本tls 1.2 –

相关问题