PayPal IPN OPENSSL错误:14077410:SSL例程:SSL23_GET_SERVER_HELLO:sslv3警报握手失败 [英] PayPal IPN OPENSSL error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

查看:102
本文介绍了PayPal IPN OPENSSL错误:14077410:SSL例程:SSL23_GET_SERVER_HELLO:sslv3警报握手失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我当前的PHP版本是5.3.最近我已将其从5.2更新为5.3

My Current PHP version is 5.3. Recently I have updated it 5.2 to 5.3

我在Google中搜索过,我找不到有关PayPal IPN验证的任何解决方案.

I have searched in google I can't find any solution regarding the PayPal IPN validation.

我看到我的phpinfo()启用了OPenSSL,但仍然收到此错误消息-

I saw my phpinfo() there are enabled OPenSSL but still I am getting this error message -

Warning: fsockopen() [function.fsockopen]: SSL operation failed with code 1. OpenSSL Error messages: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure in /home/xxx/public_html/paypal_test/socketopen.php on line 5

Warning: fsockopen() [function.fsockopen]: Failed to enable crypto in /home/xxx/public_html/paypal_test/socketopen.php on line 5

Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://www.sandbox.paypal.com:443 (Unknown error) in /home/xxx/public_html/paypal_test/socketopen.php on line 5
()

我的代码是-

<?php
$fp = fsockopen ( 'ssl://www.sandbox.paypal.com', "443", $err_num, $err_str, 60);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: www.sandbox.paypal.com\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    while (!feof($fp)) {
        echo fgets($fp, 128);
        echo "<br>";
    }
    fclose($fp);
}
?>

我在不同的服务器上使用了相同的代码,所以此代码工作正常.但这在我自己的服务器上不起作用.请检查以下两个屏幕截图-

I have used same code in different server this code is working fine. But this is not working in my own server. Please check below two screenshot-

实际输出-

我的输出-

我阅读了 php-paypal-error:14077410 :SSL例程:SSL23_GET_SERVER_HELLO:sslv3警报握手失败,但没有得到确切的解决方案.请检查并告知我.

I read php-paypal-error: 14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure But not getting any exact solution for that. Please check and let me know.

谢谢.

推荐答案

根据 SSLLabs 此服务器仅支持TLS 1.2,即不支持TLS 1.1,TLS 1.0或SSL 3.0.

According to SSLLabs this server only supports TLS 1.2, i.e. no TLS 1.1, TLS 1.0 or SSL 3.0.

我当前的PHP版本是5.3.最近我已将其从5.2更新为5.3

My Current PHP version is 5.3. Recently I have updated it 5.2 to 5.3

鉴于您使用的是旧版本的PHP,因此您使用的旧版本的OpenSSL的几率很高.仅在OpenSSL版本1.0.1中添加了对TLS 1.2的必要支持.要找出您使用的版本,可以使用

Given that you are using a fairly old version of PHP chances are high that you are also using an older version of OpenSSL. The necessary support for TLS 1.2 was only added with OpenSSL version 1.0.1. To find out which version you are using you might use

 php -r 'printf("0x%x\n", OPENSSL_VERSION_NUMBER);'

这应该至少返回0x10001000(即版本1.0.1).以下所有内容均不支持TLS 1.2.

This should return at least 0x10001000 (i.e. version 1.0.1). Anything below has no support for TLS 1.2.

这篇关于PayPal IPN OPENSSL错误:14077410:SSL例程:SSL23_GET_SERVER_HELLO:sslv3警报握手失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆