我正在尝试使用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替换主机名。
有谁知道如何解决这个问题?
发布于 2018-08-31 09:22:16
就我而言,麻烦的是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
发布于 2018-08-31 11:06:52
有时在cron作业中运行时,名称查找似乎失败。我只在/ etc / hosts中看到了它的名字,但我还没有测试过DNS名称。
我通过发送电子邮件和SMTP连接超时看到它。
我不知道确切的原因,但在我的情况下,我得到了我的SMTP代码连接127.0.0.1
而不是localhost
问题消失了。
https://stackoverflow.com/questions/-100002513
复制相似问题