1

好的,这个问题已经在互联网上被问过很多次了,但我还没有找到任何解决方案来解决我的问题。

我即将使用以下代码获取一些 JSON 数据:

$response = file_get_contents('http://www.domain.com/path/to/json');

而且它不断绊倒以下错误:

file_get_contents():php_network_getaddresses:getaddrinfo失败:名称或服务未知

我在Nginx 1.2.6php-fpm上使用PHP 5.4.4运行Debian

到目前为止,这是我的故障排除:

  1. URL 存在并在浏览器中给出有效结果。
  2. 我确保它allow_url_fopen在 php.ini 中打开。
  3. 我已在/etc/resolv.conf.
  4. 做作业ping google.com
  5. 切换到http://0.0.0.0/path/to/json工作,但不可取。
  6. 我有几个域指向同一个服务器,同样的问题独立发生。

我有点担心domainin /etc/resolv.conf,对吗?

# Automatically generated by OnApp (2.3.0-29)
domain localdomain

# Original DNS
#nameserver 10.0.10.10
#nameserver 10.0.11.11

# Google Public DNS
nameserver 8.8.8.8
nameserver 8.8.4.4

任何形式的帮助表示赞赏。

4

3 回答 3

1

我不想这么说,但问题自己解决了;我刚刚升级了 Debian 软件包 ( apt-get upgrade),问题就消失了。但是,不知道原因令人沮丧。

谢谢大家的时间!

于 2013-10-02T11:23:10.117 回答
0

这很可能是DNS问题。如果 IP 有效但域有问题,您应该查看 DNS。这就是“名称或服务未知”的暗示。如果可以,请使用不同的名称服务器。我认为谷歌的 dns 无法将您的域转换为 ip。

于 2013-09-19T21:44:05.853 回答
0

我通过两种方式解决了这个问题,要么在 root 用户模式下运行 php(或 apache),要么更新你的 debian 包。可能是 debian7u5 或 update 4 有这个错误。

于 2014-01-07T08:36:13.893 回答