2009-09-06 109 views
4

当我使用dns_get_record一个PHP脚本中得到的一个域的DNS记录列表,返回的记录列表。PHP的DNS记录

不过,如果我运行该脚本再次不返回所有相同的结果(即它只是返回的域名服务器),那么如果我再次运行它,它的工作原理等

这是我的代码使用:

$result = dns_get_record("php.net"); 
print_r($result); 

是否有更好的功能使用或更可靠的查询DNS记录?

不工作:

阵列([0] =>数组([主机] => php.net [型] => NS [靶标] => remote2.easydns.com [类] => IN [TTL] => 38772)[1] =>数组([主机] => php.net [型] => NS [靶标] => ns1.easydns.com [类] => IN [TTL] => 38772 )[2] =>数组([主机] => php.net [型] => NS [靶标] => ns2.easydns.com [类] => IN [TTL] => 38772)[3] =>阵列([主机] => php.net [型] => NS [靶标] => remote1.easydns.com [类] => IN [TTL] => 38772))

WORKING:

Array([0] => Array([host] => php.net [type] => M X [pri] => 5 [target] => osu1.php.net [class] => IN [ttl] => 72984)[1] => Array([host] => php.net [type] => MX [PRI] => 15 [靶标] => smtp.osuosl.org [类] => IN [TTL] => 72984)[2] =>数组([主机] => php.net [型] => NS [target] => remote2.easydns.com [class] => IN [ttl] => 30054)[3] => Array([host] => php.net [type] => NS [target] => ns1.easydns.com [class] => IN [ttl] => 30054)[4] => Array([host] => php.net [type] => NS [target] => ns2.easydns.com [类] => IN [TTL] => 30054)[5] =>数组([主机] => php.net [型] => NS [靶标] => remote1.easydns.com [类] => IN [ TTL] => 30054))

回答

7

添加DNS_ALL所述函数调用应该工作

$result = dns_get_record("php.net",DNS_ALL); 
print_r($result); 

要确保你正在收集所有不同的记录。