Besoin de récupérer l'IP d'un utilisateur, et mon hôte local renvoie ':: 1' comme IP, et je suis curieux de savoir si c'est un comportement attendu
Exécution de MAMP sur Snow Leopard.
Besoin de récupérer l'IP d'un utilisateur, et mon hôte local renvoie ':: 1' comme IP, et je suis curieux de savoir si c'est un comportement attendu
Exécution de MAMP sur Snow Leopard.
Même question, et a trouvé une solution valide, testé, fonctionne bien. Je voulais avoir l'ip addy - de 127.0.0.1 ainsi au lieu d'avoir à accepter l' ::1 et de débattre de l'ensemble de l'IPv4/6 questions. Donc, j'ai parcouru quelques instants et est tombé sur un 2008, les commentaires faits par @Brad - ici: http://board.issociate.de/thread/489575/SERVERquotREMOTEADDRquot-returning-1.html
Résumant - (sur Mac OS Mountain Lion en particulier)
sudo vi /etc/apache2/httpd.conf
Trouver où votre apache "écouter" -ing de l'ip/ports, etc... Généralement, ce sera une ligne ressemblant à ceci
Listen 80
Faire ressembler à ceci:
Listen 127.0.0.1:80
Enregistrer à nouveau. Redémarrer Apache. Voila!
Maintenant, $_SERVER[REMOTE_ADDR]
ressemblera à ceci 127.0.0.1
.
Espérons que cela aide quelqu'un.
La modification de l' /etc/apache2/httpd.conf
ou même /private/etc/hosts
n'est pas la solution. C'est le retour ::1 parce que c'est l'IPv6 équivalente à l'ancienne (mais l'or) IPv4 de l' 127.0.0.1
. Qu'elle est définie dans l' /privates/etc/hosts
, chaque fois que vous accédez http://localhost
il suppose IPv6 ::1. Donc, c'est le comportement attendu.
Une solution serait d'accéder http://127.0.0.1
directement. Cela fonctionnera parfaitement. Mais rappelez-vous que le protocole IPv6 disponibilité croissante. Vous pourriez assurez-vous que votre serveur (après le déploiement) ne pourra répondre à l'IPv4, mais à moyen terme, si votre site web/application ne permet pas de gérer à la fois IPv4 et IPv6 correctement, il ya une grande chance que quelque chose se passe mal dans 1/2 ans. Ou plus tôt, on ne sait jamais.
pour qui n'a pas résolu ce problème, il semble que le fichier hosts
est manquant ou que la ligne
127.0.0.1 localhost
en etc\hosts
LINUX
en /private/etc/hosts
appareils MAC
en \%WINDIR%\system32\drivers\etc\hosts
WINDOWS xp / vista / 7/8 /
lorsque le fichier hosts
est supprimé ou missed
ou la ligne aussi, le IPV6
sera défini par default
...
Vous devez désactiver la prise en charge IPv6 dans votre système d'exploitation pour qu'apache cesse d'afficher ces adresses au format IPv6, lorsque vous souhaitez le format IPv4. J'ai désactivé le support IPv6 et son fonctionnement comme prévu maintenant.
J'ai récemment rencontré ce problème, bien que je ne me souvienne pas d'avoir activé la prise en charge d'ipv6 sur mon système Windows 7, cela pourrait être fait par Microsoft dans l'une de leurs mises à jour (peut-être).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.