window2008的IIS服务器下PHP执行很慢的解决方法
这个趁着阿里云做活动,我也赶个时髦,把个人网站hangge.com发布上去。系统选的是window2008,php运行在iis下面,php版本是5.5。(选windows环境的原因是有时也要跑跑.net的网站,为了兼容只好牺牲点效率)
问题:在环境什么都搭建好以后,发现php的运行速度非常的慢,响应时间有1秒多。
原因:上网查了下,发现这是由于php页面里面数据库连接响应时间过长。而响应时间过长的原因便在于PHP 5.3连接数据库的方式有所改变(5.3以上的版本同理)。目前我们配置数据库信息时都类似这样的“$dbhost=‘localhost’ ”;这本身是没有问题的,只是PHP 5.3会考虑是IPv4还是IPv6,面对localhost会犹豫,因此出现响应时间过长的情况。而且这个问题主要都是出现在windows2008上。
解决:因为PHP 5.3在面对数据库配置信息中的“localhost”会犹豫,因此直接把这个地址改名为“127.0.0.1”,这个IP是IPv4下面的本地网络地址,实际作用和“localhost”一样,不过能明确告诉PHP这是IPv4网络。
例如:
< ?php //数据库连接信息 $cfg_dbhost = 'localhost';修改此处的localhost为127.0.0.1 $cfg_dbname = 'hangge'; $cfg_dbuser = 'hangge.com'; $cfg_dbpwd = 'hangge'; $cfg_db_language = 'UTF-8' ? >