file()[function.file]:php_network_getaddresses:getaddrinfo failed:名称解析暂时失败

时间:2010-05-21 08:31:18

标签: php chat

当我从文件(“http://www.otherdomain.com”)获取内容时出现以下错误。

file() [function.file]: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

域服务器是linux。

如何解决此问题?

4 个答案:

答案 0 :(得分:24)

引用:

  

如果您遇到fopen(“url ...”)问题,但可以运行'host   url'在shell窗口中获取   正确的查找,这就是为什么......

     

这让我感到头疼   一整天都反对 - 终于找到了   答案埋没在bug报告中,   但想到它应该真的更多   突出!

     

问题发生在你的时候   带DHCP的ADSL线路(就像我们的   办公室)...当ADSL调制解调器更新时   DHCP租约,你也可以切换   DNS服务器,混淆了apache   (以及PHP) - 意思是你   无法在PHP中查找主机,   即使你可以来自   命令行....短期   解决方案是重启apache。

     

你会得到“php_network_getaddresses:   getaddrinfo失败:暂时失败   在名称解析中...“消息为   症状。重启apache,他们就是   走了: - )

     

西蒙

Comment by Simon at php.net

答案 1 :(得分:2)

确保可以从您的服务器访问网站。 还要确保您使用的是正确的DNS服务器设置。

如果您确定该网站正在运行...尝试修改/ etc / hosts文件并添加网站的IP用于测试目的,然后尝试弄清楚它为什么不解决该域。

答案 2 :(得分:2)

无法将域解析为其IP地址。

如果您的DNS在本地运行,请尝试重新启动它。如果没有,请检查您的DNS或将其他服务器添加到/etc/resolve.conf(即名称服务器8.8.8.8)。

您还可以将域添加为hosts文件中的静态条目:

在您的Linux服务器上使用以下命令将DNS信息添加到/ etc / hosts文件中:

echo '127.0.0.1 www.otherdomain.com' >> /etc/hosts

...其中127.0.0.1是您网站的IP地址,www.otherdomain.com是您使用的域名。

您可以使用nslookup找到任何域的IP地址,即

nslookup www.otherdomain.com

答案 3 :(得分:1)

我使用CiviCRM地理编码遇到了这个问题!像Shehi一样重新启动Apache建议修复问题。