eAccelerator(eacc)配置筆記

2、ini文件配置
安裝完成,開始配置php.ini文件,eAccelerator提供了兩種配置和調用方式,分別如下。
安裝爲 Zend extension 模式
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.log_file = "/var/log/eaccelerator_log"
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"
如果使用了thread safe模式安裝的PHP,你必須使用 “zend_extension_ts” 替換第一行的 “zend_extension”.
安裝爲 PHP extension 模式:(這是大部分採用的方式)
extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.log_file = "/var/log/eaccelerator_log"
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"
完成安裝配置後,要創建緩存目錄
#mkdir /tmp/eaccelerator
#chmod 777 /tmp/eaccelerator
3、驗證安裝結果
通過瀏覽器訪問您的phpinfo()頁面或者運行 php -v 得到php配置信息
同時還安裝了Zend Optimizer3.2.8(要在php.ini中把ZO的配置選項寫在EA的後面)看到的成功信息如下:
PHP 4.4.7 (cli) (built: Aug 30 2007 08:37:36)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
    with eAccelerator v0.9.5.1, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
    with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies
    with Zend Optimizer v3.2.8, Copyright (c) 1998-2007, by Zend Technologies
   報錯:用 PHP extension 調用模式
PHP Warning:   Unknown(): Unable to load dynamic library './eaccelerator.so' - ./eaccelerator.so: cannot open shared    object file: No such file or directory in Unknown on line 0
solution:
   提示是找不到庫文件,在/etc/php.ini修改 extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/"
   爲絕對路徑,就ok了

二:eaccelerator配置信息詳解(根據官方英文說明翻譯)
  
  extension="/data/webserver/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so"
  
  解釋:PHP擴展eaccelerator.so的路徑。
  
  --------------------
  
  eaccelerator.shm_size="32"
  
  解釋:eaccelerator可使用的共享內存大小(單位爲MB)。
  
  在Linux下,單個進程的最大內存使用量受/proc/sys/kernel/shmmax中設置的數字限制(單位爲字節),例如CentOS 4.4的shmmax默認值爲33554432字節(33554432bytes/1024/1024=32MB)。
  
  臨時更改該值:
  # echo 字節數 > /proc/sys/kernel/shmmax
  
  按照以上方法更改,在每次重啓系統時,該值會被自動還原。如果想永久更改,可以修改/etc/sysctl.conf文件,設置:
  kernel.shmmax = 字節數
  
  --------------------
  
  eaccelerator.cache_dir="/data/cache/eaccelerator"
  
  解釋:緩存路徑,可以使用命令mkdir -p /data/cache/eaccelerator創建該目錄,然後使用命令chmod 0777 /data/cache/eaccelerator設置該目錄權限爲0777
  
  --------------------
  
  eaccelerator.enable="1"
  
  解釋:打開或者關閉eaccelerator。"1"指打開,"0"指關閉。默認值爲"1"。
  
  --------------------
  
  eaccelerator.optimizer="1"
  
  解釋:打開或者關閉代碼優化,開啓可以加快代碼的執行速度。"1"指打開,"0"指關閉。默認值爲"1"。
  
  --------------------
  
  eaccelerator.check_mtime="1"
  
  解釋:當打開此項時,eaccelerator會在每次請求時檢查php文件的修改時間,看其是否被修改過,這會耗費一點時間,如果php文件被修改過,eaccelerator會重新編譯緩存該php文件。當關閉此項時,如果php文件被修改,則需要手工刪除eaccelerator緩存,才能顯示被修改的php文件。"1"指打開,"0"指關閉。默認值爲"1"。
  
  --------------------
  
  eaccelerator.debug="0"
  
  解釋:打開或者關閉調試記錄。當打開時,eaccelerator會將對一個緩存文件的每次請求都寫進log。打開此項只對調試eaccelerator是否有BUG時有益處。"1"指打開,"0"指關閉。默認值爲"0"。
[root@web22 log]# tail -f /var/log/eaccelerator_log
EACCELERATOR hit: "/var/www/main/story/detail.php"
EACCELERATOR hit: "/var/www/main/includes/global_top.php"
EACCELERATOR hit: "/var/www/main/includes/config.inc.php"
EACCELERATOR hit: "/var/www/main/includes/function.inc.php"
EACCELERATOR hit: "/var/www/main/includes/msg.inc.php"
EACCELERATOR hit: "/var/www/main/includes/security.inc.php"
 以上提示表示上述php文件得到緩存和命中。。
  --------------------
  
  eaccelerator.filter=""
  
  解釋:決定哪些PHP文件應該被緩存。可以指定一個範圍(比如"*.php *.phtml"),這樣被指定的文件就會被緩存。如果該範圍以!開頭,被指定的文件就不會被緩存。默認值爲"",表示緩存所有的PHP文件。
  
  --------------------
  
  eaccelerator.shm_max="0"
  
  解釋:一個用戶使用例如eaccelerator_put之類的函數能夠往共享內存中加載的最大數據。默認值爲"0",表示不限制。(單位爲字節)
  
  --------------------
  
  eaccelerator.shm_ttl="0"
  
  解釋:當沒有足夠的空閒共享內存去嘗試緩衝一個新腳本時,將刪除至少在shm_ttl秒之前沒有被訪問過的文件。默認值爲"0",表示不嘗試從共享內存中刪除任何舊的腳本。(單位爲秒)
  
  --------------------
  
  eaccelerator.shm_prune_period="0"
  
  解釋:當沒有足夠的空閒共享內存去嘗試緩衝一個新腳本時,將刪所有舊腳本,前提是這個嘗試在超過shm_prune_period秒之前被執行過。默認值爲"0",表示不嘗試從共享內存中刪除任何舊的腳本。(單位爲秒)
  
  --------------------
  
  eaccelerator.shm_only="0"
  
  解釋:打開或者關閉在磁盤上緩存編譯過的腳本。這個參數對會話數據和內容緩存沒有效果。默認值爲"0",表示使用磁盤和共享內存來緩存。
  
  --------------------
  
  eaccelerator.compress="1"
  
  解釋:打開或者關閉緩存內容壓縮。"1"指打開,"0"指關閉。默認值爲"1"。
  
  --------------------
  
  eaccelerator.compress_level="9"
  
  解釋:內存壓縮的級別。默認值爲"9",表示最大壓縮。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章