Когда я использую dns_get_record в php-скрипте для получения списка записей DNS для домена, возвращается список записей.
Но если я снова запустил сценарий, он не вернет все те же результаты (т. Е. Он просто вернет серверы имен), то, если я запустил его снова, он будет работать и т. Д.
Это код, который я использую:
$result = dns_get_record("php.net"); print_r($result);
Есть ли более эффективная функция для использования или более надежный способ запросов к записям DNS?
НЕ РАБОТАЕТ:
Array ([0] => Array ([host] => php.net [type] => NS [target] => remote2.easydns.com [класс] => IN [ttl] => 38772) [1] = > Array ([host] => php.net [type] => NS [target] => ns1.easydns.com [класс] => IN [ttl] => 38772) [2] => Array ([host] => php.net [type] => NS [target] => ns2.easydns.com [класс] => IN [ttl] => 38772) [3] => Array ([host] => php.net [ type] => NS [target] => remote1.easydns.com [класс] => IN [ttl] => 38772))
ЗА РАБОТОЙ:
Array ([0] => Array ([host] => php.net [type] => MX [pri] => 5 [target] => osu1.php.net [класс] => IN [ttl] => 72984) [1] => Массив ([host] => php.net [type] => MX [pri] => 15 [target] => smtp.osuosl.org [класс] => IN [ttl] => 72984) [2] => Массив ([host] => php.net [type] => NS [target] => remote2.easydns.com [класс] => IN [ttl] => 30054) [3] = > Array ([host] => php.net [type] => NS [target] => ns1.easydns.com [класс] => IN [ttl] => 30054) [4] => Array ([host] => php.net [type] => NS [target] => ns2.easydns.com [класс] => IN [ttl] => 30054) [5] => Массив ([host] => php.net [ type] => NS [target] => remote1.easydns.com [класс] => IN [ttl] => 30054))
Добавление DNS_ALL к вызову функции должно работать
$result = dns_get_record("php.net",DNS_ALL); print_r($result);
Чтобы обеспечить сбор всех разных записей.