PayPal - 新服务器中的 CURL 响应为 0(连接超时),在旧服务器中没问题


Paypal - CURL response is 0 in a new server (connection time out), it's ok in the old server

我正在尝试从新服务器连接到PayPal沙盒。如果我在本地计算机中测试代码(使用 XAMPP(,它可以正常工作。此外,如果我在我的旧服务器中测试代码,它也可以正常工作(相同的 PHP 版本和库,并且新服务器应该具有与旧服务器相同的配置(尽管我开始怀疑它......

我将 CURL 输出重定向到一个文件,这就是我得到的(curl_error((中的类似输出(:

About to connect() to svcs.sandbox.paypal.com port 443 (#0)
Trying 173.0.82.89... * Connection timed out
couldn't connect to host
Closing connection #0

这是 curl_getinfo(( 的输出:

[url] => https://svcs.sandbox.paypal.com/AdaptivePayments/Pay?actionType=PAY...
[http_code] => 0
[header_size] => 0
[request_size] => 0
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0
[namelookup_time] => 0.058702
[connect_time] => 0
[pretransfer_time] => 0
[size_upload] => 0
[size_download] => 0
[speed_download] => 0
[speed_upload] => 0
[download_content_length] => 0
[upload_content_length] => 0
[starttransfer_time] => 0
[redirect_time] => 0

这是 PHP 代码:

$ch = curl_init();    
curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER
    , array(
    'X-PAYPAL-SECURITY-USERID: '.$api_userid
    , 'X-PAYPAL-SECURITY-PASSWORD: '.$api_pass
    , 'X-PAYPAL-SECURITY-SIGNATURE: '.$api_signature
    , 'X-PAYPAL-APPLICATION-ID: '.$api_appid
    , 'X-PAYPAL-REQUEST-DATA-FORMAT: NV'
    , 'X-PAYPAL-RESPONSE-DATA-FORMAT: NV'
    )    
);
$response = curl_exec($ch);

我认为问题指向服务器配置问题,但我有点迷茫,我必须查看:PHP 配置、Apache、防火墙......有什么想法吗?

你可以比较phpinfo((列表

好的。这是一个 SSL 配置问题。传出 SSL 端口 (443( 已关闭,因此服务器无法与PayPal建立连接。

感谢您的想法:)