在使用 file_get_contents远程请求url时,出现警告:
php_network_getaddresses: getaddrinfo failed: Name or servicenot known
这个问题通常是由于 Apache/PHP主机连不上dns服务器。
首先,要在命令行下检查,是否能ping通远程主机。
如果ping不通,那么你的name server(如果是fedora,在/etc/resolv.conf文件中)设置有问题。找一个可以使用的dns,用该dns的ip替换/etc/resolv.conf 中第一个nameserver的ip,然后重启apache。
如果能ping通,那么apache现在连的是一个有问题的dns服务器。你需要重启apache,以便从/etc/resolv.conf中刷新dns服务器列表。
如果还不行,可以尝试在apaceh的 http.conf 里面设上
ServerName=localhost
或者
ServerName=127.0.0.1
这个方法也用于解决apache启动时出现apr_sockaddr_info_get() failed的错误
如果还是不能解决,可以试试如下建议:
1)检查要请求的远程主机是不是在本机的/etc/hosts中
2)检查防火墙的规则,是不是被拦截了‘
3)在/etc/hosts手动绑定host
原文:https://blog.csdn.net/ownfire/article/details/7850890