关于file

关于php报错:file_get_contents(): php_network_getaddresses: getaddrinfo

failed: Name or service not known的处理方法

今天同事遇到一个问题,用php内置方法file_get_contents去读取文件时出现报错信息:file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known。跑来问我,一开始也百思不得其解,按理这个方法php5.0就支持了,现在用的php7.1应该不会不支持的。后来查找资料找到解决办法,特此记录下,为以后遇到此问题的小伙伴一块学习(感谢网上提供解决方案的童鞋们,搞技术的就该有这共享精神)

在使用 file_get_contents远程请求url时,出现警告php_network_getaddresses: getaddrinfo failed: Name or servicenot known

这个问题通常是由于 Apache/PHP主机连不上dns服务器。首先,要在命令行下

检查,是否能ping通远程主机。

如果ping不通,那么你的name server(如果是fedora,在/etc/resolv.conf文件中)设置有问题。找一个可以使用的dns,

用该dns的ip替换/etc/resolv.conf 中第一个nameserver的ip,然后重启nginx。

如果能ping通,那么apache现在连的是一个有问题的dns服务器。你需要重启nginx,以便从/etc/resolv.conf中刷新dns服务器列表。

如果还是不能解决,可以试试如下建议:

1)检查要请求的远程主机是不是在本机的/etc/hosts中

2)检查防火墙的规则,是不是被拦截了‘

3)在/etc/hosts手动绑定host

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180821G1I3JI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券