这段工夫网上都在说PHP5.2系列版别不安全,于是乎我更新到PHP5.3系列版别,更新今后发现用IIS 7.5运转PHP速度十分慢,等候呼应工夫长达1秒钟,似乎是内存不足的预兆;不过,细心检查内存使用状况,发现内存还有许多;并且,我仍是选用FastCgi办法运转PHP的,固然速度比不过Linux下面运转PHP,至少不会慢成这容貌。
在网上查找“IIS 7.5+PHP5.3速度慢”关联字眼,发现不少网友都有本人的阅历,不仅仅是IIS 7.5,IIS 7相同有这样的问题,都是晋级PHP到5.3系列版别后呈现问题,呈现问题的顺序包罗DEDECMS、PHPCMS、 Discuz!等,横竖这些顺序的最新版别都是撑持PHP5.3的,仅仅却呈现呼应工夫过多的状况,让我折腾了好几天,总算弄理解缘由。
windows 2008晋级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网络。至于详细的修正流程,比如我的网站http://www.xianren.org/源顺序是dedecms,因而数据库装备信息在html/data/common.inc文件中,要用Dreamweaver之类的专业软件编纂修正,不然保管后能够犯错。
至于另外顺序,相同修正数据库装备文件即可,下面是普通的数据库装备文件信息。
< ?php //数据库衔接信息 $cfg_dbhost = 'localhost';修正此处的localhost为127.0.0.1 $cfg_dbname = 'fewfwefsdf'; $cfg_dbuser = 'fsdfsdf'; $cfg_dbpwd = 'fewffdsf'; $cfg_db_language = 'UTF-8' ? >
办法二:IIS 7及IIS 7.5是默许敞开IPv6组件的,如今不少国内大厂商相同在布置IPv6;若是你的服务器用不上IPv6网络,那么直接把IPv6禁用即可,翻开“%systemroot%System32driversetchosts”这个文件,注释掉“::1 localhost”即可。
办法三:直接把PHP版别降级即可,保持在PHP 5.2.17版别,这是当前用得最多的版别,简直所有的PHP网站顺序都可以运转在这个版别上。经测验,在PHP 5.2系列版别,IIS 7和IIS 7.5均能包管高效运转PHP网站顺序。
其实,处理办法是很简略的,只需一步即可完结,仅仅个中缘由,估量在你没看到网友及IIS官网的处理办法之前,你相同会各种纠结各种抱怨IIS的。不管是IIS 7,仍是IIS 7.5,在运转PHP方面速度都有很大的晋升,不必什么问题都见怪到IIS上,许多时分,仅仅咱们对IIS的知道还不敷。