PHP php_network_getaddresses: getaddrinfo не удалось: такой хост не известен

У меня проблемы с DNS с определенным целевым доменом. Я использую fopen () (но такая же проблема с другими функциями) для получения изображения, но получаю следующую ошибку: Предупреждение: fopen (): php_network_getaddresses: getaddrinfo не удалось: Такой хост неизвестен

Я могу выполнить ping или nslookup домена из командной строки, но по какой-то причине php выдает эту ошибку. Когда я пробую fopen ('http://www.google.com', r); или другие домены, все идет нормально. Но вышеупомянутый домен просто не разрешится с помощью PHP. Я очистил DNS, перезапустил Apache, но все равно не повезло.

Я пробовал:

  • Windows 7, Apache 2.2 PHP 5.3.6
  • Windows server 2008r2, Apache 2.2 PHP 5.3.6

Что может привести к тому, что этот единственный домен не разрешится?

29
задан Richard 21 November 2011 в 13:15
поделиться

3 ответа

IMO, это другой способ разрешения имени из ОС и PHP.

Попробуйте:

echo gethostbyname("host.name.tld");

и

var_export (dns_get_record ( "host.name.tld") );

или

$dns=array("8.8.8.8","8.8.4.4");
var_export (dns_get_record ( "host.name.tld" ,  DNS_ALL , $dns ));

Обнаружена ошибка DNS / распознавателя.

18
ответ дан 28 November 2019 в 02:08
поделиться

Более гибко использовать curl вместо fopen и file_get_content для открытия веб-страницы.

1
ответ дан 28 November 2019 в 02:08
поделиться

Что вызвало эту ошибку на моей стороне, была следующая строка

include_once dirname(__FILE__) . './Config.php';

Мне удалось понять, что это был виновник, когда я добавил строки:

//error_reporting(E_ALL | E_DEPRECATED | E_STRICT);
//ini_set('display_errors', 1);

ко всем моим php файлы.

Чтобы решить path issue я пометил оскорбительную линию:

include_once dirname(__FILE__) . '/Config.php';
-4
ответ дан 28 November 2019 в 02:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: