IIS7,IIS7.5 升级PHP5.3后站点变慢的解决方法
大多数PHP页面实际上都是数据库驱动的,要连接数据库才能显示出来,而响应时间过长的原因便在于PHP 5.3连接数据库的方式有所改变。目前我们配置数据库信息时都类似这样的“$dbhost=‘localhost' ”;这本身是没有问题的,只是PHP 5.3会考虑是IPv4还是IPv6,面对localhost会犹豫,因此出现响应时间过长的情况。如果你查看过服务器处理PHP的时间,你会发现处理PHP的时间很短,等待处理前的时间很长。
也就是连接数据库时本地解析 localhost 为 127.0.0.1 的时间太长
目前这种响应时间过长的情况只出现在IIS 7及IIS 7.5升级PHP 5.3系列版本后,至于数据库版本是多少没多大影响。简单普及一下知识,windows 2008分为32位和64位,自带IIS 7,windows 2008 R2自带IIS 7.5,R2版本的系统只有64位。如果你用的IIS 6或者Linux系统什么的,目前还没存在这样的问题,主要是windows 2008系统。
解决办法:
方法一:上面已经说到,这是因为PHP 5.3在面对数据库配置信息中的“localhost”会犹豫,因此直接把这个地址改名为“127.0.0.1”就可以,例:
<?php
//数据库连接信息
$cfg_dbhost = 'localhost'; //改此处的localhost为:127.0.0.1
?>
方法二:IIS 7及IIS7.5是默认开启IPv6组件的,现在不少国内大厂商同样在部署IPv6;如果你的服务器用不上IPv6网络,那么直接把IPv6禁用即可,
打开“%systemroot%\System32\drivers\etc\hosts”这个文件,注释掉“::1 localhost”即可。
方法三:直接把PHP版本降级即可,保持在PHP 5.2.17版本,这是目前用得最多的版本,几乎所有的PHP网站程序都可以运行在这个版本上。经测试,在PHP 5.2系列版本,IIS 7和IIS 7.5均能保证高效运行PHP网站程序。
相关文章
iis中在唯一密钥属性"value"设置为"index.asp"时,无法添加类型
今天在web.config中添加了几个默认文档,手欠将clear删除了,后来发现只要有这个再添加就不会出现问题了,原因就是通过web.config添加的与之前iis中设置的冲突了2024-03-03
Windows Server 2008 r2 安装Zend Optimizer教程
这篇文章主要为大家分享下在Windows Server 2008 R2下安装Zend Optimizer的方法,因为一些程序使用了zend加密,必须安装Zend Optimizer,这里简单介绍下,方便需要的朋友2013-12-12
IIS6下PHP的ISAPI和FastCGI性能比较 期待ii7
在Windows IIS 6.0下配置PHP,通常有CGI、ISAPI和FastCGI三种配置方式,这三种模式都可以在IIS 6.0下成功运行,下面我就讲一下这三种方式配置的区别和性能上的差异。2010-03-03
Windws Server 2008 R2 WEB环境配置之安装IIS方法
这篇文章主要介绍了 Windws Server 2008 R2 WEB环境配置之安装IIS方法,需要的朋友可以参考下2016-06-06
Windows Server 2003 启动中常见错误的解决方法
这篇文章主要介绍了Windows Server 2003 启动中常见错误的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-10-10


最新评论