gethostbyaddr和checkdnsrr没有给出任何输出

时间:2012-09-10 11:44:33

标签: php linux dns

我正在运行一个返回DNS服务器地址的php脚本,我正在使用以下代码。

echo $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
print_r (checkdnsrr ($hostname));

我的服务器是基于Linux的。为什么这不归还什么?

2 个答案:

答案 0 :(得分:2)

当我在我的服务器上运行时,你的代码工作正常。

问题必定在你系统的某个地方! 有可能:

  • 你是NAT的背后
  • 没有针对您的IP进行反向DNS查找。

答案 1 :(得分:1)

添加更多调试输出(或使用debugger)来查找...

<?php
ini_set('display_errors', true);
error_reporting(E_ALL);
echo '$_SERVER[REMOTE_ADDR]=', $_SERVER['REMOTE_ADDR'], "<br />\n";
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
echo '$hostname=', $hostname, "<br />\n";
$result = checkdnsrr($hostname);
var_dump($result);
echo "<br />\ndone.";