Parallels - Apache重启 - php_network_getaddresses:getaddrinfo失败

时间:2014-04-10 06:05:47

标签: php apache parallels

我正在使用parallels并使我的网站与子域一起正常工作。我们的服务器今天必须重新启动,一旦重新启动,我不得不通过命令行重启apache。我有一些PHP代码通过rss(forums.oursite.com)从我们的论坛获取一些论坛数据以及我们最近的博客条目,但代码现在抛出错误:

file_get_contents(http://forums.oursite.com/discussions/feed.rss):php_network_getaddresses:getaddrinfo失败:名称解析暂时失败

我可以很好地进入子域名,当我进入ssh时,可以使用'host'命中它。我读过其他帖子,提到只是重新启动Apache,但我已经做了好几次无济于事。

我怎样才能解决这个问题?

2 个答案:

答案 0 :(得分:0)

我曾经有类似的错误消息。我们已经检查过我们有连接,主机名解析对于lynx / nc / host的root工作,它甚至适用于许多进程 - 但不是以非root用户身份运行的进程。

最后我们发现文件/etc/resolv.conf有错误的权限 - 除root之外的任何人都无法读取。

解决方案?

chmod 644 /etc/resolv.conf

this blogpost的更多信息。

答案 1 :(得分:0)

基本上,/ etc / resolv.conf中的名称服务器条目将被NetworkManager覆盖,并使用与以太网IP配置关联的eth配置文件中的默认DNS名称服务器。在这种情况下,重新启动Apache服务可能没有帮助

@ m-canvar在SO帖子PHP error: php_network_getaddresses: getaddrinfo failed: (while getting information from other site.)中提到的解决方案可能有所帮助。

在/etc/resolv.conf中设置以下条目

search yourdomain.com
nameserver 8.8.8.8
nameserver 4.2.2.1
nameserver 8.8.4.4

要防止NetworkManager覆盖这些条目,

set NM_CONTROLLED=no

在与IPv4 / IPv6配置文件关联的eth配置文件中,或禁用NetworkManager服务

chkconfig NetworkManager off
service NetworkManager stop

我花了几个小时的努力才找到解决这个问题的正确方法。希望我的详细帖子Solved: DNS Servers in /etc/resolv.conf - get_headers(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution可以帮助你们中的一些人,如果你正在努力解决这个问题。