file_get_contents():php_network_getaddresses:getaddrinfo失败

Ano*_*nil 12 php dns file-get-contents

我正在尝试使用cron作业将一些值从一台服务器更新到另一台服务器.我使用file_get_contents().

奇怪的是偶尔会失败.一分钟它工作,另一分钟它将无法工作.我收到这两个错误:

PHP警告:file_get_contents():php_network_getaddresses:getaddrinfo失败:名称或服务未知

PHP警告:file_get_contents():无法打开流:php_network_getaddresses:getaddrinfo failed:名称或服务未知

和:

PHP警告:file_get_contents():php_network_getaddresses:getaddrinfo失败:没有与主机名关联的地址

PHP警告:file_get_contents():无法打开流:php_network_getaddresses:getaddrinfo failed:没有与主机名关联的地址

我已登录遇到此问题的服务器.使用ping或traceroute工作正常,所以我排除了DNS问题.我还添加了谷歌DNS名称服务器,以确保.使用完全相同的代码的第三个服务器没有这个问题,所以它看起来是"调用"端的问题,而不是"响应"端.在这种情况下,不能使用IP替换主机名.

有谁知道如何解决这个问题?

Dio*_*elo 12

就我而言,麻烦的是Apache从/etc/resolv.conf启动时获取DNS条目.当我启动Apache时,网络尚未设置.重新启动Apache(配置网络后)解决了我的问题.

我在博客文章中详细解释了这个案例http://diogomelo.net/blog/16/Warning-file_get_contents-php_network_getaddresses-getaddrinfo-failed-No-address-associated-with-hostname


Pmp*_*mpr 0

这是因为第二台服务器上的连接限制,并且我相信您为 cron 作业设置了较短的时间间隔。如您所知,服务器控制来自每个 IP 的连续连接。您可以选择更长的时间间隔来解决此问题。