file_get_contents завершается с ошибкой «getaddrinfo failed: нет адреса, связанного с именем хоста»

Я пытаюсь получить страницу с другого хоста. Я делаю так, как говорится в руководстве hph:

$page = file_get_contents('http://www.example.com/'); echo $page; 

Но он терпит неудачу, и в журнале apache я получаю следующее:

 [Mon Oct 12 18:58:47.676454 2015] [:error] [pid 2971] [client 127.0.0.1:49434] PHP Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: No address associated with hostname in /var/www/html/digest/ftry.php on line 2 [Mon Oct 12 18:58:47.704659 2015] [:error] [pid 2971] [client 127.0.0.1:49434] PHP Warning: file_get_contents(http://www.example.com/): failed to open stream: php_network_getaddresses: getaddrinfo failed: No address associated with hostname in /var/www/html/digest/ftry.php on line 2 

Пытаясь выяснить причину неудачи, я проверил, что говорит nslookup . Когда я запускаю nslookup http://www.example.com/ он отвечает примерно так:

 nslookup http://www.example.com/ Server: 94.242.57.130 Address: 94.242.57.130#53 ** server can't find http://www.example.com/: NXDOMAIN 

Когда я удаляю http:// из имени домена, он отлично работает, возвращает ip. Но когда я пытаюсь получить файл с file_get_contents без http:// , он ищет файл в локальной файловой системе (и так оно и должно быть).

Я проверил phpinfo , allow_url_fopen как на локальном, так и на главном уровнях. Я установил 94.242.57.130 имен в свой resolv.conf 94.242.57.130 (ближайший общедоступный dns).

Related of "file_get_contents завершается с ошибкой «getaddrinfo failed: нет адреса, связанного с именем хоста»"

Похоже, что allow_url_fopen отключен на вашем php.ini , поэтому file_get_contents не работает.
Вместо этого попробуйте использовать завиток :

 $url = "http://www.example.com/"; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $page = curl_exec($ch); curl_close($ch); echo $page;