PHP 加速器 - WinCache Extension for PHP
微軟新推出了配合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緩存擴展提供了專門針對相對路徑的緩存,可以將相對路徑到絕對路徑的轉換地圖儲存起來,從而減少了相對路徑的總轉化量。
安裝方法:
這個擴展有兩個安裝包:一個是針對5.2.X 版本的PHP,另一個是針對PHP 5.3.X。
1. 打開適合你的PHP版本的安裝包
2. 將php_wincache.dll文件復制到PHP擴展的文件夾。通常這個文件夾叫做“ext”,和所有的PHP二進制文件在一個文件夾下。比如:
“C:\Program Files\PHP\ext”
3. 用文本編輯器打開php.ini文件,位置同上。比如:
“C:\Program Files\PHP\php.ini”
4. 在上面這個文件的最后加上這么一行:
Extension=php_wincache.dll
5. 保存并關閉php.ini。
6. 將你的服務器的應用庫重啟以讀取配置的變化。
配置要求:
此擴展只能在以下的配置上運行:
Windows 版本:
? Windows XP SP3 with IIS 5.1 and FastCGI Extension
? Windows Server 2003 with IIS 6.0 and FastCGI Extension
? Windows Vista SP1 with IIS 7.0 and FastCGI Module
? Windows Server 2008 with IIS 7.0 and FastCGI Module
? Windows 7 with IIS 7 and FastCGI Module
? Windows Server 2008 R2 with IIS 7.0 and FastCGI Module
PHP版本:
? PHP 5.2.X, Non-thread-safe build
? PHP 5.3 X86, Non-thread-safe VC9 build
注意:此擴展只能在服務器通過FastCGI運行PHP的情況下使用,PHP的版本必須是NTS(非線程安全)的。
可以從官方網頁http://www.iis.net/extensions/WinCacheForPHP下載Wincache。