【问题标题】:Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: No such host is known警告:file_get_contents(): php_network_getaddresses: getaddrinfo failed: No such host is known
【发布时间】:2016-10-16 08:31:04
【问题描述】:

下面是我的代码:

$ip_data = json_decode(file_get_contents("http://geoplugin.net/json.gp?ip=119.82.67.243"));
echo "<pre>"; 
print_r($ip_data);
die;

当我在 1 个系统上运行这 2 个不同时它可以,但在第二个系统上它给出错误

警告:file_get_contents(): php_network_getaddresses: getaddrinfo 失败:不知道这样的主机

我已经检查了allow_url_fopen=On 是否在两个系统上,所以请提出其他解决方案...谢谢

【问题讨论】:

  • 尝试重新启动您的网络服务器。 (可能的解释:您的路由器可能已经重新连接到互联网,获得了新的 DNS 地址,而 PHP 仍然使用旧的 DNS 地址。)

标签: php file-get-contents remote-debugging


【解决方案1】:
  • 如果没有帮助,请尝试刷新您的 DNS 缓存并重试 :):
  • 尝试这样做:fopen('your url','r')... 但我认为这不会改变任何事情

如果第二个环境中的 dns 出现问题,您可以这样做:

<?php
echo gethostbyname("ONLY_ HOST_HERE_WITHOUT_HTTP_PROTOCOL"); // debug
var_export (dns_get_record ( "ONLY_HOST_HERE_WITHOUT_HTTP_PROTOCOL") ); ?>

您可以更改您的 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_export (dns_get_record ("geoplugin.net" , DNS_ALL , $dns )); ??
猜你喜欢
  • 2015-09-25
  • 2020-06-09
  • 2018-07-12
  • 2016-01-26
  • 1970-01-01
  • 2019-02-19
  • 2020-12-26
  • 1970-01-01
  • 2010-11-19
相关资源
最近更新 更多