文/徐永久
我們知道 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:徐永久 提供本文)