比思論壇

標題: eAccelerator..樣你的論壇快起來.. [打印本頁]

作者: admin    時間: 2011-6-5 09:14
標題: eAccelerator..樣你的論壇快起來..
eAccelerator這個用來php加速作用..比思論壇選用Memcache...

Memcache的作用是把主題緩存起來的服務器,二者其實差別不大..一樣有助減輕服務器的壓力..

安裝eAccelerator

把檔案解壓,將php_eaccelerator.dll放到PHP檔案的EXT位置,打開php.ini檔案


  1. extension=php_zip.dll
複製代碼

位置下面加入

  1. extension=php_eaccelerator.dll
複製代碼



  1. ; Local Variables:
  2. ; tab-width: 4
  3. ; End:
複製代碼

上加

  1. [eaccelerator]
  2. eaccelerator.shm_size = "64"
  3. eaccelerator.cache_dir = "D:\php_eaccelerator"(eacclerator檔的位置)
  4. eaccelerator.enable = "1"
  5. eaccelerator.optimizer = "1"
  6. eaccelerator.check_mtime = "1"
  7. eaccelerator.debug = "0"
  8. eaccelerator.filter = ""
  9. eaccelerator.shm_max = "0"
  10. eaccelerator.shm_ttl = "300"
  11. eaccelerator.shm_prune_period = "600"
  12. eaccelerator.shm_only = "0"
  13. eaccelerator.compress = "1"
  14. eaccelerator.compress_level = "9"
  15. celerator.log_file = "D:\php_eaccelerator_log"
  16. eaccelerator.keys = "shm_and_disk"
  17. eaccelerator.session = "shm_and_disk"
  18. eaccelerator.content = "shm_and_disk"
  19. eaccelerator.allowed_admin_path = "D:\wwwroot\eaccelerator"(IIS目錄檔下加一個eaccelerator的檔案)
複製代碼

eaccelerator.shm_size:用來設置分配給 eAccelerator在用來緩存的PHP的最大共享內存,單位是兆字節,如果設置為 0,就使用默認大小。在Linux的系統中一個進程能分配的最大內存是由/觸發 /系統/內核 / shmmax的限制的,所以如果鄂設置的內存超出了這個值,元素在初始化的時候會失敗。SHMMAX的的單位是字節(字節)。
eaccelerator.cache_dir:用來設置硬盤緩存目錄。電針用來存放預編譯代碼,會話數據,內容和用戶入口。默認值是“/ tmp目錄 / eAccelerator在”。
eaccelerator.enable:用來設置是否啟用或禁用eAccelerator在,設置 1為啟用,設置 0為禁用。
eaccelerator.optimizer:開啟或關閉優化,用戶加速代碼的執行。1為開啟,0為關閉,優化僅僅在腳本被編譯時候發生並且是在被緩存之前。
eaccelerator.check_mtime:在每次命中的時候 eAccelerator在都會檢查腳本的修改時間來判斷是不是腳本發生的變化來決定是否需要重新編譯。儘管檢查比打開文件並編譯要快,但仍然會帶來一些開銷的,因為每次都會有狀態調用要完成。這個配置可以關閉這個檢查。不過關閉檢查帶來的不利就是每次更新了文件需要認為手動的清除緩存。默認檢查是啟用的,1是啟用,0是禁用。
eaccelerator.debug:開啟關閉調試日誌。如果設置為 1,將打印很多文件命中的信息到日誌中。這個在排查eAccelerator在的時候很有用。
eaccelerator.filter:用來決定哪個 PHP的文件被緩存。可以通過使用通配符(比如“*. PHP的*. phtml”)來匹配需要緩存的的PHP腳本。如果以“!”開頭,表示不匹配,這個參數默認是空,可以緩存所有編譯好的PHP的腳本需要注意的是eaccelerator.filter並不是基於 URL的工作的,而是基於文件的絕對路徑,比如定義了“!/家”的話,那所有/家目錄的腳本都不會被緩存。如果要定義多個匹配,使用空格或者製表符分開,而不是逗號。
eaccelerator.shm_max:設置內存緩存可以緩存文件的最大值。
eaccelerator.shm_ttl:當 eAcelerator沒有空餘的共享內存的時候,就會把最少shm_ttl設置的秒數沒訪問過的腳本從緩存中釋放掉,默認值是0,表示電針不會釋放任何緩存。
eaccelerator.shm_prune_period:當沒有足夠的內存用來緩存的時候,電針會在上次清除緩存的時間超過了shm_prune_period設定的秒數時再次嘗試清除過期的腳本。默認值為 0,藝電將不從緩存中清除過期的腳本。
eaccelerator.shm_only:啟用或者禁用磁盤緩存。這個選項對會話數據和內容的緩存沒效果。默認值是0,允許鄂使用磁盤和內存進行緩存。
eaccelerator.compress:當使用的空氣污染指數時 eaccelerator_content_ *,電針可以在緩存前對內容進行壓縮。默認值為 1表示啟用,禁用為 0。
eaccelerator.compress_level:內容緩存的壓縮等級。默認值為 9,是最大壓縮級別。
eaccelerator.log_file:設置 eAccelerator在日誌的存放目錄。如果這選項沒有配置,則數據都被記錄到標準錯誤,如果使用的是Apache的PHP的,則數據都被記錄到Apache的錯誤日誌中的。
eaccelerator.keys |會議 |內容:這些設置控制著鄂緩存用戶內容的存放地點。可用的值有shm_and_disk使用內存和磁盤進行緩存(默認值)shm的在內存中緩存數據,當內存滿了或者數據大小超過了eaccelerator.shm_max設置的值就緩存到磁盤上shm_only只使用內存緩存數據 disk_only只使用磁盤緩存數據沒有任何不緩存數據。

eaccelerator.allowed_admin_path:控制面板所在目錄,比如你的網站目錄為 D:\wwwroot\,可以建立一個文件夾 eAccelerator在,將 control.php複製進裡面,這裡的值就為 D:\wwwroot\eAccelerator在保存php.ini文件後,重啟 IIS,查看你的的phpinfo是否已加載成功。

如見到下面字樣,代表已經加載成功了。


  1. with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
複製代碼

DISCUZ已經支持eAccelerator,可以在./config/config_global.php的$_config['memory']['eaccelerator']設置為1即可。


  1. $_config['memory']['eaccelerator'] = '1';
複製代碼

PS:eAccelerator為什麼不用最新的0.9.6.1呢,因為,0.9.6開始,就取消了user cache功能,也就是步驟四中所說,php程序主動調用eAccelerator的緩存功能。 0.9.5的最後版本就是0.9.5.3。

轉貼請注明比思論壇,謝謝。

[attach]131779[/attach]

[attach]131778[/attach]

















歡迎光臨 比思論壇 (http://108.170.5.100/) Powered by Discuz! X2.5