IIS7,IIS7.5 升級PHP5.3后站點(diǎn)變慢的解決方法
大多數(shù)PHP頁面實(shí)際上都是數(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)說到,這是因?yàn)镻HP 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是默認(rèn)開啟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)站程序都可以運(yùn)行在這個版本上。經(jīng)測試,在PHP 5.2系列版本,IIS 7和IIS 7.5均能保證高效運(yùn)行PHP網(wǎng)站程序。
相關(guān)文章
iis6網(wǎng)站屬性沒有asp.net選項(xiàng)卡的解決辦法
這篇文章主要介紹了iis6網(wǎng)站屬性沒有asp.net選項(xiàng)卡的解決辦法,一般是沒有安裝.NET Framework 2.0的原因造成的,本文同時給出另外幾種可能情況,需要的朋友可以參考下2014-08-08IIS6.0中布署MVC站點(diǎn)的經(jīng)驗(yàn)分享
昨晚我寫的API上線,API是vs2010 + MVC4開發(fā)的,需要布署到windows 2003 server + IIS6.0的環(huán)境中,之前一直是布在IIS7.0,比較熟悉, 換到IIS6.0,添加網(wǎng)站,修改配置后,發(fā)現(xiàn)網(wǎng)站無法訪問2015-11-11Apache 文件根目錄設(shè)置修改方法 (Document Root)
最近在學(xué)習(xí)WordPress,使用appServ 在windows上搭建Php開發(fā)環(huán)境2012-01-01WinServer2012搭建DNS服務(wù)器的方法步驟
本文主要介紹了WinServer2012搭建DNS服務(wù)器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06