Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php gethostbyaddr和checkdnsrr不提供任何输出_Php_Linux_Dns - Fatal编程技术网

Php gethostbyaddr和checkdnsrr不提供任何输出

Php gethostbyaddr和checkdnsrr不提供任何输出,php,linux,dns,Php,Linux,Dns,我正在运行一个返回DNS服务器地址的php脚本,并使用以下代码 echo $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); print_r (checkdnsrr ($hostname)); 我的服务器是基于Linux的。为什么不返回任何内容?添加更多调试输出(或使用a)以查找 <?php ini_set('display_errors', true); error_reporting(E_ALL); echo '$_SERVER[R

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

echo $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
print_r (checkdnsrr ($hostname));
我的服务器是基于Linux的。为什么不返回任何内容?

添加更多调试输出(或使用a)以查找

<?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.";
添加更多调试输出(或使用a)以查找

<?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.";

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

问题一定在您的系统中的某个地方! 有可能:

  • 你是NAT的幕后黑手
  • 没有针对您的IP的反向DNS查找

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

问题一定在您的系统中的某个地方! 有可能:

  • 你是NAT的幕后黑手
  • 没有针对您的IP的反向DNS查找

你不会总是得到一个地址的主机名。如果你这样做,我就不投票了。新闻组和论坛的有意义的标题已经成为三十年左右的NeTo礼仪的一部分代码<:<代码>谢谢@ alfFER告诉我:你不会总是得到一个地址的主机名。如果你这样做,我就不投票了。三十多年来,新闻组和论坛的有意义的标题一直是网络礼仪的一部分。
:)
感谢@halfer告诉我:)如果需要,在任何地方使用var_dump()而不是echoi运行你的代码,并完成这个-bool(false)。我是一个新手,所以不知道这意味着什么?如果需要,在任何地方使用var_dump()而不是echoi,我运行了你的代码并完成了这个-bool(false)。我是一个新手,所以不知道这意味着什么?我如何检查上述条件以及如何启用它们?我如何检查上述条件以及如何启用它们?