警告:file_get_contents():php_network_getaddresses:getaddrinfo失败:未知此类主机

警告:file_get_contents():php_network_getaddresses:getaddrinfo失败:未知此类主机,php,file-get-contents,remote-debugging,Php,File Get Contents,Remote Debugging,以下是我的代码: $ip_data = json_decode(file_get_contents("http://geoplugin.net/json.gp?ip=119.82.67.243")); echo "<pre>"; print_r($ip_data); die; $ip\u data=json\u解码(文件\u获取\u内容(“http://geoplugin.net/json.gp?ip=119.82.67.243")); 回声“; 打印(ip数据); 死亡 当我

以下是我的代码:

$ip_data = json_decode(file_get_contents("http://geoplugin.net/json.gp?ip=119.82.67.243"));
echo "<pre>"; 
print_r($ip_data);
die;
$ip\u data=json\u解码(文件\u获取\u内容(“http://geoplugin.net/json.gp?ip=119.82.67.243"));
回声“;
打印(ip数据);
死亡
当我在一个系统上运行这两个不同的程序时,它是正常的,但在第二个系统上它给出了错误

警告:file\u get\u contents():php\u network\u getaddresses:getaddrinfo 失败:不知道这样的主机

我已经检查了两个系统上的
allow\u url\u fopen=On
,因此请建议其他解决方案…谢谢
  • 尝试刷新DNS缓存,然后重试:)如果没有帮助:
  • 试着这样做:fopen(‘你的url’,‘r’)。。。但我认为这不会改变任何事情
  • 如果第二个环境中的dns出现问题,您可以执行以下操作:

    $dns=array("194.204.159.1","194.204.152.34","8.8.8.8","8.8.4.4"); // or you can pass DNS from your first machine :)
    var_export (dns_get_record ( "ONLY_ HOST_HERE_WITHOUT_HTTP_PROTOCOL" ,  DNS_ALL , $dns ));
    

    我正在本地主机上运行它,返回的是:$dns=array(“194.204.159.1”、“194.204.152.34”、“8.8.8.8”、“8.8.4.4”);var_导出(dns_get_记录(“geoplugin.net”,dns_ALL,$dns))??尝试重新启动您的Web服务器。(可能的解释:您的路由器可能已重新连接到internet,获得了新的DNS地址,而PHP仍然使用旧的DNS地址。)
    $dns=array("194.204.159.1","194.204.152.34","8.8.8.8","8.8.4.4"); // or you can pass DNS from your first machine :)
    var_export (dns_get_record ( "ONLY_ HOST_HERE_WITHOUT_HTTP_PROTOCOL" ,  DNS_ALL , $dns ));