我在使用以下代码时遇到问题:
function http_file_exists($url){ $f=fopen($url,"r"); if($f){ fclose($f); return true; } else { return false; }
} $url = "http://www.minhemmelighed.dk/Graphics/Products/55.jpg";
print http_file_exists($url);
它返回的错误是:
Warning: fopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /srv/http/webshop3/image_scraper/test.php on line 6 Warning: fopen(http://www.minhemmelighed.dk/Graphics/Products/55.jpg): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in /srv/http/webshop3/image_scraper/test.php on line 6
我该怎么办?我已经重启服务器好几次了。
备案:
我可以通过浏览器访问相关网站
我在 Arch Linux 上运行 LAMP
最佳答案
重新启动 UNIX 服务器不太可能解决问题。看起来您需要检查服务器上的名称服务器配置。在 Web 服务器的控制台上(以 php 用户身份登录,可能是 apache
或 www-data
),测试
dig www.minhemmelighed.dk
如果这输出错误消息,请检查您的 /etc/resolv.conf
。注释掉所有行并添加
nameserver 8.8.8.8 # Google's public DNS server
如果这样可以解决问题,请联系原始名称服务器的管理员(或只使用 Google 的 8.8.8.8
)。如果没有,请检查您的连接和防火墙。
关于php - fopen 失败,getaddrinfo 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6897506/