Ошибка PHP: php_network_getaddresses: getaddrinfo не удалось: (при получении информации с другого сайта.)

Пытаясь получить информацию от внешнего источника, я получаю следующую ошибку:

Предупреждение : php_network_getaddresses: getaddrinfo не удалось: временный сбой в разрешении имен в строке # …

Вчера все было хорошо, так что случилось с этим скриптом, который не работает и дает мне ошибку выше? Любое решение или намек на решение этой проблемы?

$uri = "http://api.hostip.info/?ip=$ip&position=true"; $dom->load($uri); 

Я также попытался преобразовать DNS в IP, но затем я получил предупреждение: failed to open

 $uri = "174.129.200.54/?ip=$ip&position=true"; 

Я попытался удалить http но все еще получаю вышеуказанную ошибку.

Это потому, что вы не можете разрешить имя хоста. Возможно, проблемы с DNS, хост недоступен …

попробуйте использовать IP-адрес вместо имени хоста … ping это имя хоста … nslookup it …

В следующем файле httpd.conf правильно настройте ServerName .

/etc/httpd/conf/httpd.conf

Как показано ниже:

 ServerName 127.0.0.1:80 

или

 ServerName sitename 

Это разрешило аналогичную проблему, с которой я столкнулся.

Я бы предположил, что кеширующие DNS-серверы, которые вы используете, не ведут себя правильно (или DNS-сервер для домена, который вы разрешаете, работает некорректно). Вы можете попытаться исправить прежнюю возможность.

У вас есть как минимум 2 сервера имен, зарегистрированных на вашем сетевом адаптере? Вы всегда можете поменять свой компьютер на использование другого кэширующего DNS-сервера, чтобы это исключить. Попробуйте Google:

 8.8.8.8 8.8.4.4 

В моем случае (моя машина ubuntu 16), я добавляю файл /etc/resolvconf/resolv.conf.d/base , добавляя ниже строки ns.

 nameserver 8.8.8.8 nameserver 4.2.2.1 nameserver 2001:4860:4860::8844 nameserver 2001:4860:4860::8888 

затем запустите сценарий обновления,

 resolvconf -u 

Если вы можете уклониться от переходных процессов на удаленном сервере, к которому вы пытаетесь подключиться, это просто оставляет конфигурацию локальной сети проблемой.

Использование IP-адреса вместо имени хоста будет работать только для домена по умолчанию на удаленном хосте.

Что происходит при попытке использовать http://www.google.com (или его IP-адрес)? Если вы не можете подключиться, то это будет связано с сетью между вашим сервером и внешним миром.