checkdnsrr假阴性

时间:2011-04-18 21:56:00

标签: php dns

当使用checkdnsrr()函数时,它有时会说明没有记录存在。

例如

$domain = 'ns1.huubknops.com.';
var_dump(checkdnsrr($domain, 'ANY'));

返回bool(false),表示未找到DNS记录。但是,如果我这样做:

print_r(dns_get_record($domain));

在同一个域上它将返回A和AAAA记录:

Array
(
[0] => Array
    (
        [host] => ns1.huubknops.com
        [type] => AAAA
        [ipv6] => 2001:888:1cf8::1
        [class] => IN
        [ttl] => 42450
    )

[1] => Array
    (
        [host] => ns1.huubknops.com
        [type] => A
        [ip] => 83.160.95.99
        [class] => IN
        [ttl] => 42450
    )

)

所有域名都不会发生这种情况,只会发生一些。这有什么理由或解决方法吗?

1 个答案:

答案 0 :(得分:1)

他们是否实施循环赛? http://ca2.php.net/checkdnsrr的第一条评论表明这可能是一个问题。 IPv6的第二个结果可能会导致类似的问题