原文地址:php_network_getaddresses: getaddrinfo failed: Name or service not known作者:jqlblue

在使用 file_get_contents远程请求url时,出现警告:

php_network_getaddresses: getaddrinfo failed: Name or service not known

这个问题通常是由于 Apache/PHP主机连不上dns服务器。

首先,要在命令行下检查,是否能ping通远程主机。

如果ping不通,那么你的name server(如果是fedora,在/etc/resolv.conf 文件中)设置有问题。找一个可以使用的dns,用该dns的ip替换/etc/resolv.conf 中第一个name server的ip,然后重启apache。

如果能ping通,那么apache现在连的是一个有问题的dns服务器。你需要重启apache,以便从 /etc/resolv.conf中刷新dns服务器列表。

如果还是不能解决,可以试试如下建议:

1)检查要请求的远程主机是不是在本机的/etc/hosts中

2)检查防火墙的规则,是不是被拦截了‘

3)在/etc/hosts手动绑定host