热搜词
发表于 2014-5-15 10:16:51 | 显示全部楼层 |阅读模式
Windows 2008 R2运行PHP5.3后变慢原因

上面说到的程序有共同的特点,那么便是要用到数据库,很多PHP页面实际上都是数据库驱动的,要连接数据库才能显示出来,而响应时间过长的原因便在于PHP 5.3连接数据库的方式有所改变。目前我们配置数据库信息时都类似这样的“$dbhost=„localhost‟ ”;这本身是没有问题的,只是PHP 5.3会考虑是IPv4还是IPv6,面对localhost会犹豫,因此出现响应时间过长的情况。如果你查看过服务器处理PHP的时间,你会发现处理PHP的时间很短,等待处理前的时间很长。

目前这种响应时间过长的情况只出现在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系统。

恢复FastCgi高效运行PHP的简单方法

下面的几个方法经过测试有效;另外,这些答案在IIS官网有相应的回复,回复的时间是2010年末,说明这样的问题很早之前便出来,不过解决的方法确实很简单。

方法一:上面已经说到,这是因为PHP 5.3在面对数据库配置信息中的“localhost”会犹豫,因此直接把这个地址改名为“127.0.0.1”,这个IP是IPv4下面的本地网络地址,实际作用和“localhost”一样,不过能明确告诉PHP这是IPv4网络。

方法二:IIS 7及IIS 7.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网站程序。


全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-23 09:28 , Processed in 0.153171 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team