fopen因getaddrinfo失败而失败

Eax*_*Eax 3 php

我遇到以下代码问题:

function http_file_exists($url){
$f=fopen($url,"r");
if($f){
    fclose($f);
    return true;
} else {
  return false;
}
Run Code Online (Sandbox Code Playgroud)

} $ url ="http://www.minhemmelighed.dk/Graphics/Products/55.jpg";

print http_file_exists($ url);

它返回的错误是:

警告:fopen():php_network_getaddresses:getaddrinfo failed:第6行的/srv/http/webshop3/image_scraper/test.php中未知名称或服务警告:fopen(http://www.minhemmelighed.dk/Graphics/Products/ 55.jpg):无法打开流:php_network_getaddresses:getaddrinfo failed:第6行的/srv/http/webshop3/image_scraper/test.php中未知名称或服务

我该怎么办?我已多次重启服务器.

作为记录:

我可以通过浏览器访问相关网站

我在Arch Linux上运行LAMP

phi*_*hag 7

重新启动UNIX服务器极不可能解决问题.看起来您需要检查服务器上的名称服务器配置.在Web服务器的控制台(登录的用户的PHP,可能apachewww-data)测试

dig www.minhemmelighed.dk
Run Code Online (Sandbox Code Playgroud)

如果这输出错误消息,请检查您的/etc/resolv.conf.注释掉所有行并添加

nameserver 8.8.8.8 # Google's public DNS server
Run Code Online (Sandbox Code Playgroud)

如果这样可以解决问题,请与原始名称服务器的管理员联系(或者只使用Google 8.8.8.8).如果没有,请检查您的连接和防火墙.