Win7下localhost与127.0.0.1的区别

今天测试本地环境(Win7 64+PHP+MySql+Apache)的时候,通过Chrome开发者工具,发现php程序出现waiting延迟1s的情况,本地环境都要10**ms。

然后通过单网页,发现并没有waiting延迟1s的情况,想到可能是数据库的问题。后来无意中想到是不是IPv6的问题,mysql对IPv6支持不好。发现把数据库的连接改为127.0.0.1后就没有这个waiting 1s的情况了。

其实这个问题我以前碰到过,由于最近重装系统后忘记了改hosts文件,所以就出现这种情况。


那么win7下127.0.0.1和localhost有什么区别呢?

1、首先来看一下默认情况下PING的情况

1.jpg

ping localhost默认是::1,是IPv6的地址。

修改Hosts,可以使localhost解析到127.0.0.1


2、由于mysql对IPv6支持不好,所以会有1s的延迟。(win7对应是win2008,应该win2008也有这个问题),这边我用的是mysql5.5也是有这个问题的。

2.jpg

解决方法1:修改Hosts文件,添加解析127.0.0.1 localhost

解决方法2:程序填写数据库的时候,地址填写为127.0.0.1

其他的解决方法(略)

目前有 6 条评论

avatar

养生秘方  2014-10-18 12:11 5楼

我以为是一样的呢。 回复
avatar

综合搜索  2014-10-16 20:12 4楼

我的WIN7好像没这个现象。 回复
avatar

屠龙  2014-10-11 20:17 3楼

学习了。原来还有这区别。 回复
avatar

吴尼玛  2014-10-06 12:04 2楼

这个居然都有区别,我每次打开都是输入127.0.0.1,因为那个英文我记不住 回复
avatar

星之宇  2014-10-06 12:12

@吴尼玛:主要是mysql数据库对ipv6支持不好,不然这2个地址效果一样 回复
avatar

乐心湖  2014-10-04 09:24 1楼

感谢分享,祝博客越来越好! 回复
昵称
邮箱
主页
提交
订阅