它還能夠對指令碼進行最佳化以便加速它們的執行速度。利用eAccelerator可以減少伺服器的負載並提高PHP代碼的執行時間。
eAccelerator配置選項:
複製代碼 代碼如下:
zend_extension_ts=”X:Appphp-5.2.13-Win32exteaccelerator.dll”
eaccelerator.shm_size=”32″
eaccelerator.cache_dir=”X:Appphp-5.2.13-Win32 emp”
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:AppendendOptimizer-3.3.0libOptimizer-3.3.0″
zend_extension_ts=”X:AppendendOptimizer-3.3.0libendExtensionManager.dll”
zend_optimizer.optimization_level=”512″
eAccelerator配置參數詳細說明:
eaccelerator.shm_size
指定 eAccelerator 能夠使用的共用記憶體數量,單位:MB。“0″ 代表作業系統預設。預設值為 “0″。
eaccelerator.cache_dir
使用者磁碟緩衝的目錄。eAccelerator 在該目錄中儲存先行編譯代碼、session 資料、內容等。相同的資料也可以儲存於共用記憶體中(以獲得更快的存取速度)。預設值為 “/tmp/eaccelerator”。
eaccelerator.enable
開啟或關閉 eAccelerator。”1″ 為開啟,”0″ 為關閉。預設值為 “1″。
eaccelerator.optimizer
開啟或關閉內部最佳化器,可以提升代碼執行速度。”1″ 為開啟,”0″ 為關閉。預設值為 “1″。
eaccelerator.debug
開啟或關閉調試日誌記錄。”1″ 為開啟,”0″ 為關閉。預設值為 “0″。
eaccelerator.check_mtime
開啟或關閉 PHP 檔案改動檢查。”1″ 為開啟,”0″ 為關閉。如果您想要在修改後重新編譯 PHP程式則需要設定為 “1″。預設值為 “1″。
eaccelerator.filter
判斷哪些 PHP 檔案必須緩衝。您可以指定緩衝和不緩衝的檔案類型(如 “*.php *.phtml”等),如果參數以 “!” 開頭,則匹配這些參數的檔案被忽略緩衝。預設值為 “”,即,所有 PHP 檔案都將被緩衝。
eaccelerator.shm_max
當使用 ” eaccelerator_put() ” 函數時禁止其向共用記憶體中儲存過大的檔案。該參數指定允許儲存的最大值,單位:位元組 (10240, 10K, 1M)。”0″ 為不限制。預設值為 “0″。
eaccelerator.shm_ttl
當 eAccelerator 擷取新指令碼的共用記憶體大小失敗時,它將從共用記憶體中刪除所有在最後 “shm_ttl” 秒內無法存取的指令碼緩衝。預設值為 “0″,即:不從共用內春中刪除任何快取檔案。
eaccelerator.shm_prune_period
當 eAccelerator 擷取新指令碼的共用記憶體大小失敗時,他將試圖從共用記憶體中刪除早於“shm_prune_period” 秒的緩衝指令碼。預設值為 “0″,即:不從共用內春中刪除任何快取檔案。
eaccelerator.shm_only
允許或禁止將已編譯指令碼緩衝在磁碟上。該選項對 session 資料和內容快取無效判定。預設值為 “0″,即:使用磁碟和共用記憶體進行緩衝。
eaccelerator.compress
允許或禁止壓縮內容緩衝。預設值為 “1″,即:允許壓縮。
eaccelerator.compress_level
指定內容緩衝的壓縮等級。預設值為 “9″,為最高等級。
eaccelerator.name_sapce
一個所有鍵(keys)的前置詞字元串。如果設定該前置詞字元串則允許 .htaccess 或者 主設定檔在相同主機上運行兩個相同的鍵名。
eaccelerator.keys
eaccelerator.sessions
eaccelerator.content
判斷哪些鍵(keys)、session 資料和內容將被緩衝。可用參數值為:
1.“shm_and_disk” – 同時在共用記憶體和磁碟中快取資料(預設值);
2.“shm” – 如果共用記憶體用盡或者資料容量大於 “eaccelerator.shm_max”,則在共用記憶體或磁碟中快取資料;
3.“shm_only” – 僅在共用記憶體中快取資料;
4.“disk_only” – 僅在磁碟中快取資料;
5.“none” – 禁止快取資料。
eAccelerator應用程式介面(API):
eaccelerator_put($key, $value, $ttl=0)
將 $value 儲存在共用記憶體中,並儲存 $tll 秒。
eaccelerator_get($key)
從共用記憶體中返回 eaccelerator_put() 函數所儲存的緩衝數值,如果不存在或者已經到期,則返回 null。
eaccelerator_rm($key)
從共用記憶體中刪除 $key。
eaccelerator_gc()
刪除所有到期的鍵(keys)
eaccelerator_lock($lock)
建立一個指定名稱的鎖(lock)。該鎖可以通過 eaccelerator_unlock() 函數解除,在請求結束時也會自動解鎖。例如:
eaccelerator_unlock($lock)
解除指定名稱的鎖(lock)。
eaccelerator_set_session_handlers()
安裝 eAccelerator session 控制代碼。從 PHP 4.2.0 以後,您可以通過設定 php.ini 中的 “session.save_handler=eaacelerator” 安裝 eAccelerator 控制代碼。
eaccelerator_cache_output($key, $eval_code, $ttl=0)
在共用記憶體中緩衝 $eval_code 的輸出,緩衝 $ttl 秒。可以調用 mmcach_rm() 函數刪除相同 $key 的輸出。例如:
eaccelerator_cache_result($key, $eval_code, $ttl=0)
在共用記憶體中緩衝 $eval_code 的結果,緩衝 $ttl 秒。可以調用 mmcach_rm() 函數刪除相同 $key 的結果。例如:
eaccelerator_cache_page($key, $ttl=0)
緩衝整個頁面,且緩衝 $ttl 秒。例如:
eaccelerator_rm_page($key)
從緩衝中刪除由 eaccelerator_cache_page() 函數建立的相同 $key 的頁。
eaccelerator_encode($filename)
返回 $filename 檔案經過編譯後的編碼。
eaccelerator_load($code)
載入被 eaccelerator_encode() 函數編碼過的指令碼。