今天阿里云服务器报错failed to open stream: php_network_getaddresses

网上很多答案都是dns问题,我们一直使用的是阿里云的dns,出现问题的服务器

涉及到其中的很多台,排查系统日志没有任何报错,只有php的日志报错,这个错误

甚至影响到了数据库的链接,导致链接数据库时出现了以下错误(刷新链接时不时正常时不时不正常)

ERROR 2005 (HY000): Unknown MySQL server host 'xxxxxxx' (110) 或 [2002] Name or service not known

由于找不到具体报错日志,只能猜测是php模块出现问题.nslookup 解析都正常,但是通过php函数获取到远端数据

日志报错failed to open stream: php_network_getaddresses,

前些天服务器升级了glibc libcurl 可能影响了lib中关于dns解析的几个包libnss_dns.so.2  libnss_files.so.2  libresolv.so.2

重启php服务器正常!

总结:

1:可能php模块异常 导致无法从/etc/resolv.conf中刷新到DNS服务器列表 无法解析到对应的DNS服务器

可能是升级中libnss_dns.so.2  libnss_files.so.2  libresolv.so.2模块出现问题,不正常导致的!到底是调用那个出现的问题已经无法排查了

给linux打补丁需要谨慎,特别是升级内核之类的如果是云服务器切记打快照(打快照并不一定能挽救你)

 

Last modification:July 22, 2019
如果觉得我的文章对你有用,请随意赞赏