文/徐永久
我們知道 Zend 有免費的最佳化引擎針對 PHP 而作,但是 FreeLAMP 這次採用的是一個叫做 PHP Accelerator 的緩衝產品。
我們在 “LAMP 加速” 這篇文章中闡述過加速的幾種辦法,其中提到了 PHP Accelerator,它的安裝方法十分簡單,但是需要去他的網站擷取一個啟用鍵。
一、下載:
www.php-accelerator.co.uk/download.php
二、擷取啟用鍵並安裝:
www.php-accelerator.co.uk/activate.php
註冊自己的 SERVER_NAME 後,你會得到下面的提示:
Your key for www.freelamp.com is 8edfd13946c96309244fcca309415902
Now you must set the key for www.freelamp.com in your site configuration.
For single domains not using virtual hosts
The key can be set in the php.ini file as follows:
# PHPA key for www.freelamp.com
#
phpa.registration_key = 8edfd13946c96309244fcca309415902
For domains setup as a virtual host
Add the key to the domain specific section for your web server.
# www.freelamp.com VHost entry
#
< VirtualHost 10.20.30.40>
ServerName www.freelamp.com
# ... (other vhost specific config)
# php settings
php_value phpa.registration_key 8edfd13946c96309244fcca309415902
# also enable phpa if set to off in the php.ini (the default is on)
php_value phpa 1
< /VirtualHost>
具體的 phpa 值的設定,可以參考軟體隨帶的 CONFIGURATION 檔案的配置。
由於大多數網站是虛擬機器主機配置,所以,建議採用 php_value phpa. 的方式設定。
例如:
php_value phpa.tweaks off
php_value phpa.cache_dir /tmp
php_value phpa.file_perms 400
php_value phpa.ignore_files "/index.php, /a/test.php"
# php_value phpa.ignore_dirs "/data/WWW/site1/,/cache/"
php_value phpa.shm_size 8
php_value phpa.shm_key 0xc0deb00
php_value phpa.shm_perms 664
三、設定 php.ini
假設我們把下載後的檔案解開到 /usr/local/php ,那麼在 php.ini 中加入:
zend_extension=/usr/local/php/php_accelerator_1.2p2.so
並注釋掉原來的 Zend 最佳化引擎:
# zend_extension=/usr/local/Zend/lib/ZendOptimizer.so
重新啟動 Apache ,用瀏覽器瀏覽一個任意 PHP 頁面可以看到 /tmp 下面產生了一些 phpa 開頭的檔案。另外一個檢查緩衝是否起作用的辦法是看 phpinfo() 的輸出,原來的 Zend 最佳化引擎的說明部分,已經被顯示成:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.1.1, Copyright (c) 1998-2001 Zend Technologies
with the PHP Accelerator v1.2p2, Copyright (c) 2001-2002, by Nick Lindridge
需要說明的是,安裝 INSTALL 安裝說明上的辦法,其中的 .so 檔案和真實的 .so 檔案有差異,所以,你在安裝的時候需要注意到這個區別。
四、調整緩衝大小
PHP Accelerator 提供了緩衝管理命令:
phpa_cache_admin -mv 觀察記憶體的緩衝情況
phpa_cache_admin -fv 觀察檔案的緩衝情況
phpa_cache_admin -k 設定緩衝大小
五、總結
該軟體提供的 INSTALL 檔案闡述了關於效能上的一些說法,筆者不在這裡贅述。
需要說明的是,FreeLAMP.com 的文章目前不是 PHP 架構的,但是論壇系統是 PHP 架構的,所以效能上的提升只會是論壇系統的提升。(FreeLAMP:徐永久 提供本文)