IIS7,IIS7.5 升級PHP5.3后站點變慢的解決方法
大多數(shù)PHP頁面實際上都是數(shù)據(jù)庫驅(qū)動的,要連接數(shù)據(jù)庫才能顯示出來,而響應(yīng)時間過長的原因便在于PHP 5.3連接數(shù)據(jù)庫的方式有所改變。目前我們配置數(shù)據(jù)庫信息時都類似這樣的“$dbhost=‘localhost' ”;這本身是沒有問題的,只是PHP 5.3會考慮是IPv4還是IPv6,面對localhost會猶豫,因此出現(xiàn)響應(yīng)時間過長的情況。如果你查看過服務(wù)器處理PHP的時間,你會發(fā)現(xiàn)處理PHP的時間很短,等待處理前的時間很長。
也就是連接數(shù)據(jù)庫時本地解析 localhost 為 127.0.0.1 的時間太長
目前這種響應(yīng)時間過長的情況只出現(xiàn)在IIS 7及IIS 7.5升級PHP 5.3系列版本后,至于數(shù)據(jù)庫版本是多少沒多大影響。簡單普及一下知識,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)說到,這是因為PHP 5.3在面對數(shù)據(jù)庫配置信息中的“l(fā)ocalhost”會猶豫,因此直接把這個地址改名為“127.0.0.1”就可以,例:
<?php
//數(shù)據(jù)庫連接信息
$cfg_dbhost = 'localhost'; //改此處的localhost為:127.0.0.1
?>
方法二:IIS 7及IIS7.5是默認開啟IPv6組件的,現(xiàn)在不少國內(nèi)大廠商同樣在部署IPv6;如果你的服務(wù)器用不上IPv6網(wǎng)絡(luò),那么直接把IPv6禁用即可,
打開“%systemroot%\System32\drivers\etc\hosts”這個文件,注釋掉“::1 localhost”即可。
方法三:直接把PHP版本降級即可,保持在PHP 5.2.17版本,這是目前用得最多的版本,幾乎所有的PHP網(wǎng)站程序都可以運行在這個版本上。經(jīng)測試,在PHP 5.2系列版本,IIS 7和IIS 7.5均能保證高效運行PHP網(wǎng)站程序。
相關(guān)文章
iis中在唯一密鑰屬性"value"設(shè)置為"index.asp"時,無法添加類型
今天在web.config中添加了幾個默認文檔,手欠將clear刪除了,后來發(fā)現(xiàn)只要有這個再添加就不會出現(xiàn)問題了,原因就是通過web.config添加的與之前iis中設(shè)置的沖突了2024-03-03
IIS7、iis7.5中禁止緩存單個靜態(tài)文件的配置方法
這篇文章主要介紹了IIS7、iis7.5中禁止緩存單個靜態(tài)文件的配置方法,需要的朋友可以參考下2017-02-02
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下成功運行,下面我就講一下這三種方式配置的區(qū)別和性能上的差異。2010-03-03
Windws Server 2008 R2 WEB環(huán)境配置之安裝IIS方法
這篇文章主要介紹了 Windws Server 2008 R2 WEB環(huán)境配置之安裝IIS方法,需要的朋友可以參考下2016-06-06
Windows Server 2003 啟動中常見錯誤的解決方法
這篇文章主要介紹了Windows Server 2003 啟動中常見錯誤的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10

