当我从文件(“http://www.otherdomain.com”)获取内容时出现以下错误。
file() [function.file]: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
域服务器是linux。
如何解决此问题?
答案 0 :(得分:24)
引用:
如果您遇到fopen(“url ...”)问题,但可以运行'host url'在shell窗口中获取 正确的查找,这就是为什么......
这让我感到头疼 一整天都反对 - 终于找到了 答案埋没在bug报告中, 但想到它应该真的更多 突出!
问题发生在你的时候 带DHCP的ADSL线路(就像我们的 办公室)...当ADSL调制解调器更新时 DHCP租约,你也可以切换 DNS服务器,混淆了apache (以及PHP) - 意思是你 无法在PHP中查找主机, 即使你可以来自 命令行....短期 解决方案是重启apache。
你会得到“php_network_getaddresses: getaddrinfo失败:暂时失败 在名称解析中...“消息为 症状。重启apache,他们就是 走了: - )
西蒙
答案 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建议修复问题。