升级php请求等待响应时间变长

一个比较老的php项目,将php版本升级到5.4.x以后,请求响应变得缓慢,在firebug中查看等待响应时间要大于1s,本地的测试环境,项目不大,数据很少,不应该出现这么慢的响应速度。重要的是未升级php之前同样的代码是正常工作的,响应时间没有这么久的。升级了性能不可能更差了啊。

经查证,原来与ipv4和ipv6有关,PHP 5.3以上的版本在遇到localhost时会检测是ipv4还是ipv6,因此出现响应时间过长的情况。

项目中关于数据库连接的相关配置通常都会这样定义

// MySQL 服务器地址
define(“dbserver”, “localhost”);

很多情况下我们的web服务器和数据库服务器就是同一台电脑,所以会设置为localhost,这就是响应变慢的原因。

解决就很简单了,将localhost替换为127.0.0.1就可以了,这样就明确为ipv4地址了,不需要php在那边费时费力的猜测了。

define(“dbserver”, “127.0.0.1”);

再来看看我们的网站,是不是快的飞起来了呢。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.