【发布时间】:2016-04-30 09:42:09
【问题描述】:
我正在尝试设置 paypal IPN 处理程序脚本,但出现以下错误。
$fp = fsockopen('tls://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
此行导致以下错误 -
ERROR - 2016-04-29 18:29:30 --> Severity: Warning --> fsockopen(): SSL operation failed with code 1. OpenSSL Error messages:
error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure /mypaypalipn.php 988
ERROR - 2016-04-29 18:29:30 --> Severity: Warning --> fsockopen(): Failed to enable crypto /mypaypalipn.php 988
ERROR - 2016-04-29 18:29:30 --> Severity: Warning --> fsockopen(): unable to connect to tls://www.sandbox.paypal.com:443 (Unknown error) /mypaypalipn.php 988
我尝试在 stackoverflow 上搜索并了解它是导致此问题的 SSL 版本,解决方案就像更改
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
到:
curl_setopt($ch, CURLOPT_SSLVERSION, 4);
但我没有使用 cURL。我该怎么做才能让它与fsockopen一起工作?
这些来自 phpinfo -
注册流套接字传输
tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Apache/2.4.12
SSL Version: OpenSSL/1.0.1e
【问题讨论】:
-
我刚刚将代码更改为 cURL,现在对我来说工作正常。