Time: 2015-01-05 Tag: localhost 127

今天测试本地环境(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
其他的解决方法(略)