我正在尝试从新服务器连接到Paypal Sandbox。如果我在本地计算机上测试代码(使用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,防火墙,...有什么想法吗
2条答案
按热度按时间vlf7wbxs1#
你可以比较phpinfo()列表
wtzytmuj2#
好的。这是SSL配置问题。输出SSL端口(443)已关闭,因此服务器无法与Paypal建立连接。
谢谢你的想法:)