2010-12-27 20 views
1

私はクライアントのIPをプリントする小さなスクリプトを書こうとしています。私は自分のlocalhost上で実行しようとしていますが、IPアドレスを取得できません。代わりに私は:: 1のようなものを得ます。ここで私は私のIPアドレスをPHPで取得できません

はコードです:

<?php echo $_SERVER['REMOTE_ADDR'];?> 

予想通り、これは動作しないのはなぜ?

+1

':: 1'は' 127.0.0.1'( 'localhost')のIPv6バージョンです(種類)。 'localhost'に接続するには、システムがIPv6を使用している必要があります。 – ncuesta

答えて

5
::1 

IPv6のループバックアドレス(IPv4では127.0.0.1)はありますか。

これは予期された動作です。 Firefoxを使用している場合はabout:configに移動し、disableIPv6を検索してtrueに設定します。 127.0.0.1が表示されます。

はい、うまくいきます。

+0

それはそれが働いているということですか?実際のサーバに置いたときに正しいIPが得られますか?または私はそれをip4に変換すべきですか(どのように?)? – Vonder

+0

@Vafello、はい、うまくいきます。これは、IPv4とIPv6の両方の問題ではありません。これは、単にWebサーバーに接続するために使用されたアドレスです。あなたの場合、それはループバックでした。心配しないでください。 – Brad

+0

「正しいIP」を定義してください... – ncuesta

2

正常に動作しています。それはあなたのIPアドレスです...そのIPv6版です。 IPv4経由で接続していた場合は、127.0.0.1と表示されます。

これらはループバックアドレスです。実際のネットワークインターフェイスを使用せずに自分のコンピュータに接続することができます。 http://en.wikipedia.org/wiki/Loopback#Virtual_network_interface

関連する問題