今天阿里云服务器报错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打补丁需要谨慎,特别是升级内核之类的如果是云服务器切记打快照(打快照并不一定能挽救你)