0

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

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

我的服务器是基于 Linux 的。为什么这不返回任何东西?

4

2 回答 2

2

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

问题一定出在你系统的某个地方!它可能是:

  • 你在 NAT 后面
  • 没有针对您的 IP 的反向 DNS 查找。
于 2012-09-10T11:49:14.563 回答
1

添加更多调试输出(或使用调试器)以找出...

<?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.";
于 2012-09-10T11:47:33.693 回答