checkdnsrr仅适用于dot com域吗?
如果我使用live.com(或任何现有的dotcom),checkdnsrr返回值1(TRUE),但它总是为现有的dot net / org返回一个空字符串。如果检查是针对A或MX或NS ...记录,则无关紧要。语法是正确还是别的?
<?php
$dom ="live.net";
$check = checkdnsrr($dom,'NS');
echo "live $check test ";
?>
TIA
答案 0 :(得分:2)
checkdnsrr()
根本不返回字符串,它是一个BOOL函数,所以要么是真/假。直接打印是不好的做法,因为FALSE
没有像0
变成TRUE
1
变成echo "$dom test: " . ($check ? 'TRUE' : 'FALSE');
。它被抛入一个空字符串,因此是不可见的。
至少将支票更改为:
'host
并获得正确的'true'/'false'文本输出。
话虽这么说,live.com和live.net都可以在这里解决所有类型的DNS记录类型。我建议您在测试此服务器的服务器上使用nslookup
或dig
或{{1}},以查看他们为响应获取的内容。 PHP应该使用与这些工具相同的解析器。
答案 1 :(得分:0)
您粘贴的代码适用于我(TM)。
检查您的系统DNS设置。