php_network_getaddresses: getaddrinfo failed: Name or servicenot known

原创 zhaoliang  2018-04-10 20:46  阅读 564 views 次

公司QA部门今天更换了台新服务器,结果问题百出,先是php对外调用服务特别慢,排查了一整天,先是解决了OP那边的内网DNS解析问题(不是主因),然后查询各种网络路由,就差直接去HTTP/TCP这个层面去排查了,最后终于排查到是PHP服务的启动方式有问题,重新使用常规启动方式后,主问题恢复正常,又出现了新问题,部分服务提示:php_network_getaddresses: getaddrinfo failed: Name or servicenot known

各种断点调试之后,终于解决,解决思路整理如下

1.先在服务器上ping 一下地址,发现OP未对访问的内网域名做映射

2.DNS的问题解决后,问题仍然在,尝试对比cgi方式和cli命令行方式直接使用file_get_contens方式访问接口地址,发现cli正常,cgi方式不正常

3.重启php-fpm进程,发现问题仍在,再重新nginx服务,问题解决

总结:问题的根源在于服务器的DNS解析,服务器变更dns后,尽量将nginx和php都重启一下

本文地址:http://blog.58cm.cn:8088/archives/505.html
版权声明:本文为原创文章,版权归 zhaoliang 所有,欢迎分享本文,转载请保留出处!

评论已关闭!