I am using xampp on localhost and when I use $_SERVER["REMOTE_ADDR"]
it returns ::1
(also does this in phpinfo()
). Why does it do this? I want it to return a normal ip address like 127.0.0.1. My operating system is windows vista.
相关问题
- Views base64 encoded blob in HTML with PHP
- Laravel Option Select - Default Issue
- PHP Recursively File Folder Scan Sorted by Modific
- Can php detect if javascript is on or not?
- Using similar_text and strpos together
Your apache is listening for IPv6 connections by default (
::1
being local loopback). If you really just want IPv4, try to disable disable IPv6 connections in your apache configuration:::1
is an IPv6 address and an abbreviation for0:0:0:0:0:0:0:1
that is the loopback address to the local machine. So::1
is the same as127.0.0.1
only via IPv6 instead of IPv4.You have to disable IPv6 support in your OS for apache to stop showing these IPv6 format addresses, when you want the IPv4 format. I disabled IPv6 support and its working as expected now.
The following instructions to disable IPv6 could be helpful, http://support.microsoft.com/kb/929852
Just so you know i followed the steps described in the above link and i'm using Windows 7 not Vista though i doubt there could be any or many differences.
I recently ran into this issue, though i don't ever remember enabling ipv6 support on my system, could be done by Microsoft in one of their updates (maybe).
Go to XAMPP control panel. Open Apache(httpd.conf) which can be found in the first row i.e. Apache Module's Actions. Go to listen (you can Ctrl + F this) which shows 80 (if you have ipv6 active) change it to Listen
0.0.0.0:80
and you are done. Restart Apache and you will no longer see::1
in your browser. This will happily return your localhost i.e.127.0.0.1