Функция dns_get_record падает с ошибкой A temporary server error occurred.
php -r "var_dump(dns_get_record('toptanmama.com', DNS_NS));"
PHP Warning: dns_get_record(): A temporary server error occurred. in Command line code on line 1
bool(false)
|
Функция
php -r "var_dump(dns_get_record('toptanmama.com', DNS_NS));"
PHP Warning: dns_get_record(): A temporary server error occurred. in Command line code on line 1
bool(false)
|
||||
|
|
|
По документации функция dns_get_record возвращает false если не удалось получить данные либо массив с dns-данными.
Если ответ не получен, на некоторых серверах dns_get_record может вызывать ошибку уровня E_WARNING.
Чтобы убедиться в том, что функция Ошибки могут быть следующими:
Чтобы исправить ошибку A temporary server error occurred, нужно либо подавлять все ошибки собачкой
try {
$dns = dns_get_record($domain, DNS_A);
}
catch (Exception $e) {
if ($e->getMessage() !== 'dns_get_record(): A temporary server error occurred.') {
throw $e;
}
$dns = false;
}
Интересно, что ошибка может воспроизводиться на одном сервере и не воспроизводиться на другом. При этом в /etc/resolv.conf записаны абсолютно одинаковые хосты. |
||||
|
|