簡介
微軟新推出了配合FastCGI模式使用的WinCache擴展,這是一個可以顯著增加PHP套用在Windows環境下使用速度的PHP加速器。所有的PHP套用都能夠利用這個擴展所提供的加速功能而不需要修改任何代碼。所有需要做的就是將這個擴展激活並被PHP引擎讀取。
與eAccelerator正好相反的是WinCache要求使用NTS(非執行緒安全)版本的PHP,因此更適合與FastCGI配合使用。
WinCache擴展包括了三種不同種類的快取使用,下面將要分別介紹這三種快取和他們所能提供的便利。
快取
·PHP操作碼快取
PHP是一個腳本運行引擎,他讀入包含文字和PHP指令的輸入數據流,再輸出另一個通常是HTML格式的數據流。這就是說在一個伺服器上,每當網路用戶需要,PHP引擎就會讀入、解析、編碼和執行某個腳本。而這種讀入、解析和編碼會給伺服器的CPU和檔案系統增加額外的負擔,因此會影響到PHP腳本的整體運行。PHP操作碼快取就是用來把編碼後的腳本位元組碼儲存在記憶體中從而能讓PHP引擎在後來對同一腳本的操作中重複使用。
·檔案快取
除了使用操作碼快取,PHP引擎還需要從檔案系統里讀取腳本檔案。當PHP腳本儲存在一個遠程的UNC(統一命名約定)檔案共享中,檔案操作會出現一個顯著的動作。Windows快取擴展包括了一個檔案快取來在記憶體中儲存PHP腳本檔案的內容,這樣就減少了PHP引擎的檔案運算元量。
·相對路徑快取
PHP腳本經常會引用或使用通過相對路徑訪問的檔案。而每一個相對路徑都必須被PHP引擎轉化成絕對路徑才能夠使用。當一個PHP套用通過相對路徑訪問很多的PHP檔案,將相對路徑轉化成絕對路徑的工作就會對套用的運行產生消極影響。Windows快取擴展提供了專門針對相對路徑的快取,可以將相對路逕到絕對路徑的轉換地圖儲存起來,從而減少了相對路徑的總轉化量。