php - Paypal IPN : random "php_network_getaddresses: getaddrinfo failed: Name or service not known (0)" error

标签 php networking paypal getaddrinfo

在使用以下 Paypal IPN 代码时,我有时会收到“getaddrinfo failed”错误,并且我的脚本(通过 PHP 更新 mySQL 数据库)未执行。

代码

// read post from PayPal system and add 'cmd'

$postvars = array();

while (list ($key, $value) = each ($HTTP_POST_VARS)) {
    $postvars[] = $key;
}

$req = 'cmd=_notify-validate';

for ($var = 0; $var < count ($postvars); $var++) {
    $postvar_key = $postvars[$var];
    $postvar_value = $$postvars[$var];
    $req .= "&" . $postvar_key . "=" . urlencode ($postvar_value);
}

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

错误

php_network_getaddresses : getaddrinfo failed: Name or service not known (0)

我不明白的是,这种情况是随机发生的,有时整个脚本都可以正常工作。 它似乎完全独立于接收到的变量:

  • 订阅号
  • 交易类型
  • 验证_签名
  • 等等等...

我一周前联系过 Paypal 支持,但到目前为止还没有回复。

如有任何帮助,我们将不胜感激。 :)

P.S:我刚刚意识到错误仅来自一行。

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

最佳答案

这对你来说还在发生吗?
原因是它无法解析 www.paypal.com - 看看您是否可以通过默认名称服务器手动解析 www.paypal.com。如果这不起作用,请与名称服务器的提供商合作,或切换到不同的提供商(如果可能)。

关于php - Paypal IPN : random "php_network_getaddresses: getaddrinfo failed: Name or service not known (0)" error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14003382/

相关文章:

php - 打印数组中的字段值

php - 有效ip->location查询

C 十六进制转换为char指针

networking - 为什么if和else语句单次执行?

java - 确保收到 `response.getOutputStream().write()`

paypal - REST API 和 MPL 结合在一起。这可能吗?

c++ - BIO_do_connect() 似乎失败是因为使用了 SSL v3,有没有办法获得更多诊断信息?

php - Paypal 购物车商品总金额与订单金额不符

php - ajax登录问题

PHP/MySQL 在数据库中创建空白记录