remote_addr not returning IPv4 address

前端 未结 4 514
说谎
说谎 2020-12-30 08:56

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 th

相关标签:
4条回答
  • 2020-12-30 09:37

    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

    0 讨论(0)
  • 2020-12-30 09:41

    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:

    If you want Apache to handle IPv4 connections only, regardless of what your platform and APR will support, specify an IPv4 address on all Listen directives, as in the following examples:

    Listen 0.0.0.0:80
    Listen 192.170.2.1:80
    
    • http://httpd.apache.org/docs/2.0/bind.html
    0 讨论(0)
  • 2020-12-30 09:42

    ::1 is an IPv6 address and an abbreviation for 0:0:0:0:0:0:0:1 that is the loopback address to the local machine. So ::1 is the same as 127.0.0.1 only via IPv6 instead of IPv4.

    0 讨论(0)
  • 2020-12-30 09:56

    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).

    0 讨论(0)
提交回复
热议问题