问题来自于自己写php网页时,要取得ip,上网页localhost/phpinfo.php查看SERVER_ADDR这项,显示的是::1,并不是预料中的127.0.0.1.上网查过之后知道是因为ipv6的原因,关于如何解决,网上有一万种方法,说说我当时怎么做的。
1、关闭ipv6
先查到这个方法,要关闭ipv6协议。当然把网络属性里的√打掉是没有卵用的,需要卸载。但是我的卸载按钮是灰色的,不知道怎么回事。然后又去百度怎么在控制台里用命令关闭ipv6,没有查到,这个方法就先放下了。
2、修改注册表
在别人的博客上看到的,不知道最初作者是谁
打开注册表,找到键HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip6\Parameters
,添加类型为DWORD 名字为DisabledComponents 的项(已经有了的不用添加直接改值)。然后修改值为 20,值类型为16进制 。这样就完了,之后保存注册表,重启电脑。重新ping 下 localhost 试试看吧。
注册表还是不敢改,只能再去找其他方法
3、修改c:\windows\system32\drivers\etc\hosts
来自superuser,里面一个人建议将文件中如下
::1 localhost
127.0.0.1 localhost
改为如下
127.0.0.1 localhost
但是这个文件我居然没有权限改,先放下了。
4、修改C:\AppServ\Apache24\conf\httpd.conf
来自stackoverflow。将
Listen 80
改为
Listen 127.0.0.1:80
这次可以改了,重启了apache。虽然在cmd里ping localhost还是::1,但是在phpinfo.php页面SERVER_ADDR已经变成了127.0.0.1,就先这样吧。
如果有问题再更新