У меня был скрипт на одном из моих сайтов, который загружал записи DNS, используя dns_get_record()
PHP функция Но примерно через 2 недели эта функция возвращает пустой массив. Я написал тестовый скрипт, как показано ниже:
<?php
$result = dns_get_record("php.net");
if (count($result)) {
print_r($result);
} else {
echo 'Empty Array';
}
?>
Он хорошо работает на моей локальной машине, но когда я тестирую его на своем сервере, он возвращает Пустой массив в результате.
В чем дело, друзья?
Убедитесь, что DNS-порты открыты на сервере, для этого требуется порт TCP / UDP 53.
Вы можете проверить, что ваш сервер может делать исходящие DNS-запросы, набрав следующее
dig exmaple.com
и посмотреть, если вы получите ожидаемый ответ.
Убедитесь, что на сервере установлены DNS-серверы, а затем проверьте брандмауэр, как было предложено ранее.
Наконец, стоит проверить версии PHP на каждой машине?
Клиенты нуждаются в dns и dhcp или жестко запрограммированном заполнении бланков.
Серверы часто не видят ничего, только отвечая на их IP-трафик