2016-01-21 157 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 –

相關問題