最近在新机器上面,要配置一个WAMP环境,因为个人比较喜欢都是自己搭建环境。
在配置完成后,打开一个项目页面,明显的感觉到延迟和顿感。但是不是很明白哪里有问题,也继续就这样用着。
某天,项目数据库需要连接到同事的机器上面去访问,配置后,发现访问飞速,代码还是那些代码。就因为数据库换了,所以变得很快。
所以我确信是PHP连接mysql数据库的问题了,没有瞎猜和细想。直接google了,就看到这样一篇文章了
问题就是:由于localhost 没有指定 127.0.0.1 ip地址,请求localhost时直接返回的 ipv6格式地址 ::1 。然后去尝试监听 ::1 上面的mysql 3306端口,但是mysql 的监听端口是在ipv4 127.0.0.1 上。
在地址 ::1 找寻 3306 端口没有找到,才会在 ipv4 的地址上面去寻找。所有就有了这样的一个延迟。
按上面文章的说法,一看hosts文件果然如此。
localhost 确实被注释着,也没有 localhost 的地址指向。
[php]
# 127.0.0.1 localhost
# ::1 localhost
[/php]
本地ping测试
[修改之前]
得到ipv6 ::1 地址