web-dev-qa-db-ja.com

PHPサーバーのIPアドレスを表示

私はウェブサイトで作業していますが、私がやりたいことの1つは、ユーザーにMY IPアドレスを表示することです。 WebサイトはCodeIgniterで作成されているため、PHPでサーバーIPを探していました。 IPアドレスは変更される可能性があります(ローマー)ので、ハードコードだけでなく、動的に見つけたいと思います。私はこれを試しました:

$data['hostname'] = NULL;
$data['ip'] = NULL;
$var = gethostname();
if ($var === FALSE) {
  $var = NULL;
} else {
  $data['hostname'] = $var;
  $data['ip']   = gethostbyname($var);
}

ただし、ホスト名とIPを提供する代わりに、「Moria」と「127.0.1.1」を取得しました。私が探しているものではありません。むしろ、ホスト名とIPアドレスに対して「Moria.student.rit.edu」と言う必要があります。何か助け?

19
Ethan Mick

_$_SERVER['SERVER_ADDR']_を試してください。サーバーがリッスンしているIPアドレスになります。 DNS関数(たとえば、gethostbyaddr())を使用してホスト名を取得できます。

http://www.php.net/manual/en/reserved.variables.server.php を参照してください。

49
Matthew