在使用 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