Пытаясь получить информацию от внешнего источника, я получаю следующую ошибку:
Предупреждение : 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-адрес)? Если вы не можете подключиться, то это будет связано с сетью между вашим сервером и внешним миром.