win2003服務(wù)器之用Zend和eAccelerator在IIS6下同時加速
更新時間:2010年08月29日 22:33:36 作者:
eAccelerator是一個自由開放源碼php加速器,優(yōu)化和動態(tài)內(nèi)容緩存,提高了性能php腳本的緩存性能,使得PHP腳本在編譯的狀態(tài)下,對服務(wù)器的開銷幾乎完全消除。
它還有對腳本起優(yōu)化作用,以加快其執(zhí)行效率。使您的PHP程序代碼執(zhí)效率能提高1-10倍;
官方主頁: http://eaccelerator.net
在Zend Optimizer的基礎(chǔ)上再運行eAccelerator,我的PHP測試環(huán)境主要是Windows的IIS6+php-5.2.13環(huán)境,我在本機服務(wù)器和遠程VMWARE主機上安裝都輕松配置成功,但是在一臺遠程VPS服務(wù)器上安裝,卻怎么都沒有安裝成功,PHP版本和對應(yīng)的eAccelerator從PHP5.2.13一直降到PHP5.2.11, PHP5.2.10, PHP5.2.9-2都沒法用,折騰了半個晚上原因仍不明朗,目錄夾和權(quán)限設(shè)置肯定都沒有問題,一直降到PHP5.2.8版本和對應(yīng)的eAccelerator版本才正確運行起來,但是步驟基本相同如下:
1、下載和PHP版本對應(yīng)的eAccelerator文件
2、解壓開來,復(fù)制dll文件到php的ext目錄中
3、新建緩存臨時目錄夾
4、然后追加修改windows中的php.ini文件,如下即可:
[Zend]
zend_extension_ts=”X:\App\php-5.2.13-Win32\ext\eaccelerator.dll”
eaccelerator.shm_size=”32″
eaccelerator.cache_dir=”X:\App\php-5.2.13-Win32\temp”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=”"
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
zend_extension_manager.optimizer_ts=”X:\App\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0″
zend_extension_ts=”X:\App\Zend\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll”
zend_optimizer.optimization_level=”512″
####配置選項####
eaccelerator.shm_size
指定 eAccelerator 能夠使用的共享內(nèi)存數(shù)量,單位:MB。
“0″ 代表操作系統(tǒng)默認。默認值為 “0″。
eaccelerator.cache_dir
用戶磁盤緩存的目錄。eAccelerator 在該目錄中存儲預(yù)編譯代碼、session 數(shù)據(jù)、內(nèi)容等。
相同的數(shù)據(jù)也可以存儲于共享內(nèi)存中(以獲得更快的存取速度)。默認值為 “/tmp/eaccelerator”。
eaccelerator.enable
開啟或關(guān)閉 eAccelerator?!?″ 為開啟,”0″ 為關(guān)閉。默認值為 “1″。
eaccelerator.optimizer
開啟或關(guān)閉內(nèi)部優(yōu)化器,可以提升代碼執(zhí)行速度?!?″ 為開啟,”0″ 為關(guān)閉。默認值為 “1″。
eaccelerator.debug
開啟或關(guān)閉調(diào)試日志記錄?!?″ 為開啟,”0″ 為關(guān)閉。默認值為 “0″。
eaccelerator.check_mtime
開啟或關(guān)閉 PHP 文件改動檢查?!?″ 為開啟,”0″ 為關(guān)閉。如果您想要在修改后重新編譯 PHP
程序則需要設(shè)置為 “1″。默認值為 “1″。
eaccelerator.filter
判斷哪些 PHP 文件必須緩存。您可以指定緩存和不緩存的文件類型(如 “*.php *.phtml”等)
如果參數(shù)以 “!” 開頭,則匹配這些參數(shù)的文件被忽略緩存。默認值為 “”,即,所有 PHP 文件
都將被緩存。
eaccelerator.shm_max
當(dāng)使用 ” eaccelerator_put() ” 函數(shù)時禁止其向共享內(nèi)存中存儲過大的文件。該參數(shù)指定允許
存儲的最大值,單位:字節(jié) (10240, 10K, 1M)?!?″ 為不限制。默認值為 “0″。
eaccelerator.shm_ttl
當(dāng) eAccelerator 獲取新腳本的共享內(nèi)存大小失敗時,它將從共享內(nèi)存中刪除所有在
最后 “shm_ttl” 秒內(nèi)無法存取的腳本緩存。默認值為 “0″,即:不從共享內(nèi)春中刪除
任何緩存文件。
eaccelerator.shm_prune_period
當(dāng) eAccelerator 獲取新腳本的共享內(nèi)存大小失敗時,他將試圖從共享內(nèi)存中刪除早于
“shm_prune_period” 秒的緩存腳本。默認值為 “0″,即:不從共享內(nèi)春中刪除
任何緩存文件。
eaccelerator.shm_only
允許或禁止將已編譯腳本緩存在磁盤上。該選項對 session 數(shù)據(jù)和內(nèi)容緩存無效。默認
值為 “0″,即:使用磁盤和共享內(nèi)存進行緩存。
eaccelerator.compress
允許或禁止壓縮內(nèi)容緩存。默認值為 “1″,即:允許壓縮。
eaccelerator.compress_level
指定內(nèi)容緩存的壓縮等級。默認值為 “9″,為最高等級。
eaccelerator.name_sapce
一個所有鍵(keys)的前綴字符串。如果設(shè)置該前綴字符串則允許 .htaccess 或者 主配置
文件在相同主機上運行兩個相同的鍵名。
eaccelerator.keys
eaccelerator.sessions
eaccelerator.content
判斷哪些鍵(keys)、session 數(shù)據(jù)和內(nèi)容將被緩存??捎脜?shù)值為:
“shm_and_disk” – 同時在共享內(nèi)存和磁盤中緩存數(shù)據(jù)(默認值);
“shm” – 如果共享內(nèi)存用盡或者數(shù)據(jù)容量大于 “eaccelerator.shm_max”
則在共享內(nèi)存或磁盤中緩存數(shù)據(jù);
“shm_only” – 僅在共享內(nèi)存中緩存數(shù)據(jù);
“disk_only” – 僅在磁盤中緩存數(shù)據(jù);
“none” – 禁止緩存數(shù)據(jù)。
eAccelerator 應(yīng)用程序接口(API)
eaccelerator_put($key, $value, $ttl=0)
將 $value 存儲在共享內(nèi)存中,并存儲 $tll 秒。
eaccelerator_get($key)
從共享內(nèi)存中返回 eaccelerator_put() 函數(shù)所存儲的緩存數(shù)值,如果不存在或者已經(jīng)
過期,則返回 null。
eaccelerator_rm($key)
從共享內(nèi)存中刪除 $key。
eaccelerator_gc()
刪除所有過期的鍵(keys)
eaccelerator_lock($lock)
創(chuàng)建一個指定名稱的鎖(lock)。該鎖可以通過 eaccelerator_unlock() 函數(shù)解除,在請求
結(jié)束時也會自動解鎖。例如:
eaccelerator_unlock($lock)
解除指定名稱的鎖(lock)。
eaccelerator_set_session_handlers()
安裝 eAccelerator session 句柄。
從 PHP 4.2.0 以后,您可以通過設(shè)置 php.ini 中的 “session.save_handler=eaacelerator”
安裝 eAccelerator 句柄。
eaccelerator_cache_output($key, $eval_code, $ttl=0)
在共享內(nèi)存中緩存 $eval_code 的輸出,緩存 $ttl 秒。
可以調(diào)用 mmcach_rm() 函數(shù)刪除相同 $key 的輸出。例如:
eaccelerator_cache_result($key, $eval_code, $ttl=0)
在共享內(nèi)存中緩存 $eval_code 的結(jié)果,緩存 $ttl 秒。
可以調(diào)用 mmcach_rm() 函數(shù)刪除相同 $key 的結(jié)果。例如:
eaccelerator_cache_page($key, $ttl=0)
緩存整個頁面,且緩存 $ttl 秒。例如:
eaccelerator_rm_page($key)
從緩存中刪除由 eaccelerator_cache_page() 函數(shù)創(chuàng)建的相同 $key 的頁。
eaccelerator_encode($filename)
返回 $filename 文件經(jīng)過編譯后的編碼。
eaccelerator_load($code)
加載被 eaccelerator_encode() 函數(shù)編碼過的腳本。
5、設(shè)置完畢重啟WEB服務(wù)器即可。
官方主頁: http://eaccelerator.net
在Zend Optimizer的基礎(chǔ)上再運行eAccelerator,我的PHP測試環(huán)境主要是Windows的IIS6+php-5.2.13環(huán)境,我在本機服務(wù)器和遠程VMWARE主機上安裝都輕松配置成功,但是在一臺遠程VPS服務(wù)器上安裝,卻怎么都沒有安裝成功,PHP版本和對應(yīng)的eAccelerator從PHP5.2.13一直降到PHP5.2.11, PHP5.2.10, PHP5.2.9-2都沒法用,折騰了半個晚上原因仍不明朗,目錄夾和權(quán)限設(shè)置肯定都沒有問題,一直降到PHP5.2.8版本和對應(yīng)的eAccelerator版本才正確運行起來,但是步驟基本相同如下:
1、下載和PHP版本對應(yīng)的eAccelerator文件
2、解壓開來,復(fù)制dll文件到php的ext目錄中
3、新建緩存臨時目錄夾
4、然后追加修改windows中的php.ini文件,如下即可:
[Zend]
zend_extension_ts=”X:\App\php-5.2.13-Win32\ext\eaccelerator.dll”
eaccelerator.shm_size=”32″
eaccelerator.cache_dir=”X:\App\php-5.2.13-Win32\temp”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=”"
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
zend_extension_manager.optimizer_ts=”X:\App\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0″
zend_extension_ts=”X:\App\Zend\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll”
zend_optimizer.optimization_level=”512″
####配置選項####
eaccelerator.shm_size
指定 eAccelerator 能夠使用的共享內(nèi)存數(shù)量,單位:MB。
“0″ 代表操作系統(tǒng)默認。默認值為 “0″。
eaccelerator.cache_dir
用戶磁盤緩存的目錄。eAccelerator 在該目錄中存儲預(yù)編譯代碼、session 數(shù)據(jù)、內(nèi)容等。
相同的數(shù)據(jù)也可以存儲于共享內(nèi)存中(以獲得更快的存取速度)。默認值為 “/tmp/eaccelerator”。
eaccelerator.enable
開啟或關(guān)閉 eAccelerator?!?″ 為開啟,”0″ 為關(guān)閉。默認值為 “1″。
eaccelerator.optimizer
開啟或關(guān)閉內(nèi)部優(yōu)化器,可以提升代碼執(zhí)行速度?!?″ 為開啟,”0″ 為關(guān)閉。默認值為 “1″。
eaccelerator.debug
開啟或關(guān)閉調(diào)試日志記錄?!?″ 為開啟,”0″ 為關(guān)閉。默認值為 “0″。
eaccelerator.check_mtime
開啟或關(guān)閉 PHP 文件改動檢查?!?″ 為開啟,”0″ 為關(guān)閉。如果您想要在修改后重新編譯 PHP
程序則需要設(shè)置為 “1″。默認值為 “1″。
eaccelerator.filter
判斷哪些 PHP 文件必須緩存。您可以指定緩存和不緩存的文件類型(如 “*.php *.phtml”等)
如果參數(shù)以 “!” 開頭,則匹配這些參數(shù)的文件被忽略緩存。默認值為 “”,即,所有 PHP 文件
都將被緩存。
eaccelerator.shm_max
當(dāng)使用 ” eaccelerator_put() ” 函數(shù)時禁止其向共享內(nèi)存中存儲過大的文件。該參數(shù)指定允許
存儲的最大值,單位:字節(jié) (10240, 10K, 1M)?!?″ 為不限制。默認值為 “0″。
eaccelerator.shm_ttl
當(dāng) eAccelerator 獲取新腳本的共享內(nèi)存大小失敗時,它將從共享內(nèi)存中刪除所有在
最后 “shm_ttl” 秒內(nèi)無法存取的腳本緩存。默認值為 “0″,即:不從共享內(nèi)春中刪除
任何緩存文件。
eaccelerator.shm_prune_period
當(dāng) eAccelerator 獲取新腳本的共享內(nèi)存大小失敗時,他將試圖從共享內(nèi)存中刪除早于
“shm_prune_period” 秒的緩存腳本。默認值為 “0″,即:不從共享內(nèi)春中刪除
任何緩存文件。
eaccelerator.shm_only
允許或禁止將已編譯腳本緩存在磁盤上。該選項對 session 數(shù)據(jù)和內(nèi)容緩存無效。默認
值為 “0″,即:使用磁盤和共享內(nèi)存進行緩存。
eaccelerator.compress
允許或禁止壓縮內(nèi)容緩存。默認值為 “1″,即:允許壓縮。
eaccelerator.compress_level
指定內(nèi)容緩存的壓縮等級。默認值為 “9″,為最高等級。
eaccelerator.name_sapce
一個所有鍵(keys)的前綴字符串。如果設(shè)置該前綴字符串則允許 .htaccess 或者 主配置
文件在相同主機上運行兩個相同的鍵名。
eaccelerator.keys
eaccelerator.sessions
eaccelerator.content
判斷哪些鍵(keys)、session 數(shù)據(jù)和內(nèi)容將被緩存??捎脜?shù)值為:
“shm_and_disk” – 同時在共享內(nèi)存和磁盤中緩存數(shù)據(jù)(默認值);
“shm” – 如果共享內(nèi)存用盡或者數(shù)據(jù)容量大于 “eaccelerator.shm_max”
則在共享內(nèi)存或磁盤中緩存數(shù)據(jù);
“shm_only” – 僅在共享內(nèi)存中緩存數(shù)據(jù);
“disk_only” – 僅在磁盤中緩存數(shù)據(jù);
“none” – 禁止緩存數(shù)據(jù)。
eAccelerator 應(yīng)用程序接口(API)
eaccelerator_put($key, $value, $ttl=0)
將 $value 存儲在共享內(nèi)存中,并存儲 $tll 秒。
eaccelerator_get($key)
從共享內(nèi)存中返回 eaccelerator_put() 函數(shù)所存儲的緩存數(shù)值,如果不存在或者已經(jīng)
過期,則返回 null。
eaccelerator_rm($key)
從共享內(nèi)存中刪除 $key。
eaccelerator_gc()
刪除所有過期的鍵(keys)
eaccelerator_lock($lock)
創(chuàng)建一個指定名稱的鎖(lock)。該鎖可以通過 eaccelerator_unlock() 函數(shù)解除,在請求
結(jié)束時也會自動解鎖。例如:
eaccelerator_unlock($lock)
解除指定名稱的鎖(lock)。
eaccelerator_set_session_handlers()
安裝 eAccelerator session 句柄。
從 PHP 4.2.0 以后,您可以通過設(shè)置 php.ini 中的 “session.save_handler=eaacelerator”
安裝 eAccelerator 句柄。
eaccelerator_cache_output($key, $eval_code, $ttl=0)
在共享內(nèi)存中緩存 $eval_code 的輸出,緩存 $ttl 秒。
可以調(diào)用 mmcach_rm() 函數(shù)刪除相同 $key 的輸出。例如:
eaccelerator_cache_result($key, $eval_code, $ttl=0)
在共享內(nèi)存中緩存 $eval_code 的結(jié)果,緩存 $ttl 秒。
可以調(diào)用 mmcach_rm() 函數(shù)刪除相同 $key 的結(jié)果。例如:
eaccelerator_cache_page($key, $ttl=0)
緩存整個頁面,且緩存 $ttl 秒。例如:
eaccelerator_rm_page($key)
從緩存中刪除由 eaccelerator_cache_page() 函數(shù)創(chuàng)建的相同 $key 的頁。
eaccelerator_encode($filename)
返回 $filename 文件經(jīng)過編譯后的編碼。
eaccelerator_load($code)
加載被 eaccelerator_encode() 函數(shù)編碼過的腳本。
5、設(shè)置完畢重啟WEB服務(wù)器即可。
相關(guān)文章
win2008下安裝SQL SERVER 2005出現(xiàn)IIS功能要求 警告解決方案
這篇文章主要介紹了在windows server 2008 R2系統(tǒng)中,安裝sql server 2005時,出現(xiàn)功能要求警告的解決方法,有遇到此問題的朋友,可以參考下2013-05-05
詳解IIS中的重寫工具下關(guān)于操作重定向URL中的{R:N}與{C:N}使用介紹
這篇文章主要介紹了詳解IIS中的重寫工具下關(guān)于操作重定向URL中的{R:N}與{C:N},需要的朋友可以參考下2017-03-03
Win Server 2019遠程桌面服務(wù)部署的實現(xiàn)步驟
有時候使用遠程桌面連接到WINDOWS服務(wù)器,本文主要介紹了Win Server 2019遠程桌面服務(wù)部署的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下2024-04-04
Windows?Server2012?R2?無法安裝.NET?Framework?3.5的解決方法
這篇文章主要介紹了Windows?Server2012?R2?無法安裝.NET?Framework?3.5的解決方法,使用本文方法的同學(xué)一定要注意選取對應(yīng)版本的簡包(我用的簡包鏈接在文中),然后指定備用源路徑即可,需要的朋友可以參考下2022-04-04
用戶IIS APPPOOL\DefaultAppPool登錄失敗的解決方法
這篇文章主要為大家詳細介紹了用戶IIS APPPOOL\DefaultAppPool登錄失敗的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
Windows Server 2003 系統(tǒng)安全配置方法
對于win2003服務(wù)器的安全配置方法,腳本之家之前發(fā)布了很多類似的文章,但并不完整,所以我們以后會整理下放到論壇里面,大家一起來交流。2009-10-10
windows?server?防火墻添加出入站規(guī)則方法小結(jié)
Windows系統(tǒng)默認設(shè)置為阻止所有入站連接,允許所有出站連接,要管理這些連接,可通過防火墻規(guī)則進行,本文就來介紹一下如何設(shè)置,感興趣的可以了解一下2024-10-10
win7 iis7.5 亂碼 和 解析不了ASP的ADO連接數(shù)據(jù)庫 的解決方法
win7 iis7.5 亂碼 和 解析不了ASP的ADO連接數(shù)據(jù)庫 的解決方法2009-06-06

