PHP get_file_contents()返回"没有与主机名相关联的地址"

时间:2017-03-22 21:04:55

标签: php http curl nginx php-5.5

PHP-FPM似乎偶尔会出现DNS问题,最近也在DNS not working in PHP (but does in general)中报告过。由于问题似乎比其他问题中描述的更复杂,我想再详细说明问题。

根据引用的问题,重启PHP_FPM有助于:

sudo service php5-fpm restart

但似乎只有一段时间了。

我的PHP脚本通过file_get_contents()与第二台服务器联系,该工作正常...直到昨天。对于简单的请求,例如

file_get_contents('http://www.example.com/');

我收到错误"没有与主机名相关联的地址"。

file_get_contents(http://www.example.com/): failed to open stream: php_network_getaddresses: getaddrinfo failed: No address associated with hostname

使用curl尝试相同时,错误类似:

Could not resolve host: www.example.com

是的,我实际上是通过www.example.com对此进行了测试,以将服务器排除为错误来源。

当使用同样运行PHP的服务器执行nslookup时,一切似乎都没问题:

$ nslookup www.example.com
Server:         xx.xx.xx.100
Address:        xx.xx.xx.100#53

Non-authoritative answer:
Name:   www.example.com
Address: 93.184.216.34

我在nginx服务器上通过PHP-FPM使用PHP 5.5.9。 PHP5-FPM,nginx和syslog的错误日志不包含有关此问题的任何其他信息。

0 个答案:

没有答案