2

以下是示例代码:

$req = "122";
$header = "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Host: www.sandbox.paypal.com\r\n";
$header .= "Connection: close\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
if(!$errno)
{
var_dump($fp);
}
else
{
    echo "ERROR: $errno, $errstr";
}

当我连接到沙盒时,它会产生一个连接超时错误:错误:110,连接超时

所以我调试了这个问题,发现它与SSL有关,并验证了服务器中openssl的存在和可访问性。

使用以下内容测试了服务器上的 openssl 和连接性

"openssl s_client -connect www.sandbox.paypal.com:443"

我明白了

"Socket: Connection Timed out"

我检查了 iptables 并且端口 443 没有阻塞

所以我再次尝试检查 paypal.com 的案例,如下所示:

$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);

它立即起作用。

所以我在我的另一台服务器上进行了尝试,我能够连接到 sandbox.paypal.com,但无法连接到我需要演示和测试付款的服务器上。

我的托管服务提供商一无所知,我在这里拉头发。

我很感激这方面的任何帮助。

是的,当然我在 Stackoverflow 上的第一个问题 :)

4

0 回答 0