贝宝ssl握手faliure

您好我正在使用Paypal PHP SDK与Paypal Api进行通信。

每件事情都在正常工作前2天。 但是现在我在我的开发服务器上出现这个错误。

错误:14094410:SSL例程:SSL3_READ_BYTES:sslv3警报握手失败

请求时我使用以下CURL选项:

public static $DEFAULT_CURL_OPTS = array(
    CURLOPT_SSLVERSION => 1,
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_TIMEOUT        => 60,   // maximum number of seconds to allow cURL functions to execute
    CURLOPT_USERAGENT      => 'PayPal-PHP-SDK',
    CURLOPT_HTTPHEADER     => array(),
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSL_VERIFYPEER => 1,
    CURLOPT_SSL_CIPHER_LIST => 'TLSv1',
);

这个问题只发生在现场模式上使用SANDBOX模式,每件事情都很好。

任何人都知道为什么会发生这种情况

谢谢


我经历过同样的错误。 这是由于PayPal最近做出的更新:https://www.paypal-knowledge.com/infocenter/index?page = content&id = FAQ1766

您可以通过将其添加到您的CURL选项来修复它:

curl_setopt($ch, CURLOPT_SSLVERSION , 1);

要么

CURLOPT_SSL_SSLVERSION => 1

编辑:完整的工作设置

curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close'));
curl_setopt($ch, CURLOPT_SSLVERSION , 1);
链接地址: http://www.djcxy.com/p/31629.html

上一篇: Paypal ssl handshake faliure

下一篇: Adding title to plotly legend in R