升級(jí)PHP5.3后站點(diǎn)變慢
大多數(shù)PHP頁面實(shí)際上都是數(shù)據(jù)庫驅(qū)動(dòng)的,要連接數(shù)據(jù)庫才能顯示出來,而響應(yīng)時(shí)間過長的原因便在于PHP 5.3連接數(shù)據(jù)庫的方式有所改變?這里簡單給大家分享下, 方便需要的朋友
大多數(shù)PHP頁面實(shí)際上都是數(shù)據(jù)庫驅(qū)動(dòng)的,要連接數(shù)據(jù)庫才能顯示出來,而響應(yīng)時(shí)間過長的原因便在于PHP 5.3連接數(shù)據(jù)庫的方式有所改變。目前我們配置數(shù)據(jù)庫信息時(shí)都類似這樣的“$dbhost=‘localhost' ”;這本身是沒有問題的,只是PHP 5.3會(huì)考慮是IPv4?是IPv6,面對(duì)localhost會(huì)猶豫,因此出現(xiàn)響應(yīng)時(shí)間過長的情況。如果你查看過服務(wù)器處理PHP的時(shí)間,你會(huì)發(fā)現(xiàn)處理PHP的時(shí)間很短,等待處理前的時(shí)間很長。
也就是連接數(shù)據(jù)庫時(shí)本地解析 localhost 為 127.0.0.1 的時(shí)間太長
目前這種響應(yīng)時(shí)間過長的情況只出現(xiàn)在IIS 7及IIS 7.5升級(jí)PHP 5.3系列版本后,至于數(shù)據(jù)庫版本是多少?zèng)]多大影響。簡單普及一下知識(shí),windows 2008分為32位和64位,自帶IIS 7,windows 2008 R2自帶IIS 7.5,R2版本的系統(tǒng)只有64位。如果你用的IIS 6或者Linux系統(tǒng)什么的,目前還沒存在這樣的問題,主要是windows 2008系統(tǒng)。
解決辦法:
方法一:上面已經(jīng)說到,這是因?yàn)镻HP 5.3在面對(duì)數(shù)據(jù)庫配置信息中的“l(fā)ocalhost”會(huì)猶豫,因此直接把這個(gè)地址改名為“127.0.0.1”就可以,例:

方法二:IIS 7及IIS7.5是默認(rèn)開啟IPv6組件的,現(xiàn)在不少國內(nèi)大廠商同樣在部署IPv6;如果你的服務(wù)器用不上IPv6網(wǎng)絡(luò),那么直接把IPv6禁用即可,
打開“%systemroot%System32driversetchosts”這?文件,注釋掉“::1 localhost”即可。
方法三:直接把PHP版本降級(jí)即可,保持在PHP 5.2.17版本,這是目前用得最多的版本,幾乎所有的PHP網(wǎng)站程序都可以運(yùn)行在這個(gè)版本上。經(jīng)測(cè)試,在PHP 5.2系列版本,IIS 7和IIS 7.5均能保證高效運(yùn)行PHP網(wǎng)站程序。