【发布时间】:2025-12-19 12:00:17
【问题描述】:
我正在尝试针对新的 PayPal 测试端点进行测试:https://tlstest.paypal.com。
请参阅此页面的最底部:TLS 1.2 and HTTP/1.1 Upgrade Microsite(验证您的...)。
我在 Windows Server 2008 R2 和 IIS 7.5 上使用 PHP (5.3.28) 和 curl (7.30.0 - OpenSSL/0.9.8y - libssh2/1.4.2):
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://tlstest.paypal.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_SSLVERSION, 6); // CURL_SSLVERSION_TLSv1_2
$result = curl_exec($ch);
echo 'result = '.$result.'<br>';
echo 'errno = '.curl_errno($ch).'<br>';
echo 'error = '.curl_error($ch).'<br>';
curl_close($ch);
我收到此错误:
35 连接到 tlstest.paypal.com:443 的未知 SSL 协议错误
我发现了这个:Github - Unknown SSL protocol error,其中有人说:
对于 TLS 1.2,Openssl 必须为 1.0.1 或更高版本。
这是正确的..?
我的 PHP OpenSSL 版本为:OpenSSL/0.9.8y(来自phpinfo())。
如果您确实需要 OpenSSL 1.0.1 或更高版本才能使用 TLS 1.2,那么大概 每台运行 PHP 且 OpenSSL 版本较低的服务器(我猜这很多!)将无法使用即将推出任何 PayPal API 或 PayPal IPN。
如何在 Windows 上更新我的 PHP OpenSSL 版本..?
【问题讨论】: