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 に答える