多月来,有许多人一再要求 支付宝 向所提供接口的用户提供更新其系统到当前版本或仅通过当前协议建立连接。原则上,这不是问题,因为大多数操作系统,甚至是那些几年前的操作系统,都可以毫无问题地支持这一点。
例如,你可以用以下命令来测试你的系统。
php -r '$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://tlstest.paypal.com/"); var_dump(url_exec($ch)); var_dump(url_error($ch));'
返回值是
PayPal_Connection_OKbool(true)
string(0) "
或者如果不成功。
bool(false)
string(17) "SSL连接错误"
例如,在Redhat/Centos6下会出现后一种错误。
原则上,与Redhat6的连接也可以在以下情况下进行。 tls 1.2,但不幸的是,所使用的程序 "curl "并不能自动与tls1.2协商这个连接。这个bug是Redhat在5月份更新的,也将很快适用于Centos6。因此,作为webserver的操作者,你应该将所有的包更新到最新的版本,尤其是使用7.19.7-52版本的curl。 红帽
在这之前,你必须要求 curl 使用当前的版本,例如使用 .NET Framework 2.0。
php -r '$ch = curl_init(); curl_setopt($ch, CURLOPT_SSLVERSION, 6); curl_setopt($ch, CURLOPT_URL, "https://tlstest.paypal.com/"); var_dump(curl_exec($ch)); var_dump(curl_error($ch));'.
但不必惊慌。由于大部分用户的更新懒惰,支付宝将更换协议或关闭旧协议的截止日期延长1年,至2017年6月30日。