试图从外部源获取信息,我收到以下错误:
警告:php_network_getaddresses:getaddrinfo失败:行#中名称解析暂时失败...
昨天一切都很好,所以这个脚本发生了什么,这是不行的,并给我上面的错误?任何解决方案或提示来解决这个问题?
$uri = "http://api.hostip.info/?ip=$ip&position=true";
$dom->load($uri);
Run Code Online (Sandbox Code Playgroud)
我也试过将DNS转换为IP,但后来我收到了警告: failed to open
$uri = "174.129.200.54/?ip=$ip&position=true";
Run Code Online (Sandbox Code Playgroud)
我试图删除http但仍然得到上述错误.
小智 8
在以下httpd.conf文件中,ServerName正确配置.
/etc/httpd/conf/httpd.conf
如下所示:
ServerName 127.0.0.1:80
Run Code Online (Sandbox Code Playgroud)
要么
ServerName sitename
Run Code Online (Sandbox Code Playgroud)
这解决了我面临的类似问题.
在我的情况下(我的机器是 ubuntu 16),我/etc/resolvconf/resolv.conf.d/base通过添加以下 ns 行来附加文件。
nameserver 8.8.8.8
nameserver 4.2.2.1
nameserver 2001:4860:4860::8844
nameserver 2001:4860:4860::8888
Run Code Online (Sandbox Code Playgroud)
然后运行更新脚本,
resolvconf -u
Run Code Online (Sandbox Code Playgroud)
我认为您使用的缓存 DNS 服务器运行不正常(或者您正在解析的域的 DNS 服务器工作不正常)。您可以尝试修复前一种可能性。
您的网络适配器上是否至少注册了 2 个名称服务器?您可以随时更换您的计算机以使用不同的缓存 DNS 服务器来排除这种情况。试试谷歌的:
8.8.8.8
8.8.4.4
Run Code Online (Sandbox Code Playgroud)