2010-05-30 12 views
9

J'utilise xampp sur localhost et quand j'utilise $_SERVER["REMOTE_ADDR"] il renvoie ::1 (fait aussi cela dans phpinfo()). Pourquoi fait-il cela? Je veux qu'il renvoie une adresse IP normale comme 127.0.0.1. Mon système d'exploitation est Windows Vista.remote_addr ne pas retourner l'adresse IPv4

Répondre

10

::1 est un IPv6 address et une abréviation de 0:0:0:0:0:0:0:1 correspondant à loopback address sur la machine locale. Donc ::1 est le même que 127.0.0.1 seulement via IPv6 au lieu de IPv4.

8

Votre apache écoute IPv6 connexions par défaut (::1 étant local loopback). Si vous voulez vraiment juste IPv4, essayez de désactiver les connexions IPv6 désactiver dans la configuration apache:

Si vous voulez Apache pour gérer les connexions IPv4 uniquement, quel que soit votre plate-forme et d'APR, spécifier une adresse IPv4 sur tous les Écoutez les directives, comme dans les exemples suivants:

Listen 0.0.0.0:80 
Listen 192.170.2.1:80 
-2

Vous devez désactiver la prise en charge IPv6 dans votre système d'exploitation pour qu'apache arrête d'afficher ces adresses au format IPv6, lorsque vous souhaitez utiliser le format IPv4. J'ai désactivé le support IPv6 et son fonctionnement comme prévu maintenant.

Les instructions suivantes pour désactiver IPv6 pourrait être utile, http://support.microsoft.com/kb/929852

Juste pour que vous savez que je suivais les étapes décrites dans le lien ci-dessus et je suis sous Windows 7 pas Vista mais je doute qu'il pourrait y avoir une ou plusieurs différences.

J'ai récemment rencontré ce problème, même si je ne me souviens pas d'avoir activé le support ipv6 sur mon système, cela pourrait être fait par Microsoft dans l'une de leurs mises à jour (peut-être).

3

Accédez au panneau de configuration XAMPP. Ouvrez Apache (httpd.conf) qui se trouve dans la première ligne, c'est-à-dire les actions du module Apache. Allez écouter (vous pouvez Ctrl + F ceci) qui montre 80 (si vous avez ipv6 actif) le changer pour écouter 0.0.0.0:80 et vous avez terminé. Redémarrez Apache et vous ne verrez plus ::1 dans votre navigateur. Cela renverra volontiers votre hôte local, c'est-à-dire 127.0.0.1