php错误failed to open stream: php_network_getaddresses

133次阅读
没有评论

共计 658 个字符,预计需要花费 2 分钟才能阅读完成。

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

 

正文完
 0
yx
版权声明:本站原创文章,由 yx 于2018-12-06发表,共计658字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码