網(wǎng)站加速 PHP 緩沖的免費(fèi)實(shí)現(xiàn)方法
更新時(shí)間:2006年10月09日 00:00:00 作者:
文/徐永久
我們知道 Zend 有免費(fèi)的優(yōu)化引擎針對(duì) PHP 而作,但是 FreeLAMP 這次采用的是一個(gè)叫做 PHP Accelerator 的緩沖產(chǎn)品。
我們?cè)?“LAMP 加速” 這篇文章中闡述過加速的幾種辦法,其中提到了 PHP Accelerator,它的安裝方法十分簡(jiǎn)單,但是需要去他的網(wǎng)站獲取一個(gè)激活鍵。
一、下載:
www.php-accelerator.co.uk/download.php
二、獲取激活鍵并安裝:
www.php-accelerator.co.uk/activate.php
注冊(cè)自己的 SERVER_NAME 后,你會(huì)得到下面的提示:
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 值的設(shè)置,可以參考軟件隨帶的 CONFIGURATION 文件的配置。
由于大多數(shù)網(wǎng)站是虛擬主機(jī)配置,所以,建議采用 php_value phpa. 的方式設(shè)置。
例如:
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
三、設(shè)置 php.ini
假設(shè)我們把下載后的文件解開到 /usr/local/php ,那么在 php.ini 中加入:
zend_extension=/usr/local/php/php_accelerator_1.2p2.so
并注釋掉原來(lái)的 Zend 優(yōu)化引擎:
# zend_extension=/usr/local/Zend/lib/ZendOptimizer.so
重新啟動(dòng) Apache ,用瀏覽器瀏覽一個(gè)任意 PHP 頁(yè)面可以看到 /tmp 下面生成了一些 phpa 開頭的文件。另外一個(gè)檢查緩沖是否起作用的辦法是看 phpinfo() 的輸出,原來(lái)的 Zend 優(yōu)化引擎的說(shuō)明部分,已經(jīng)被顯示成:
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
需要說(shuō)明的是,安裝 INSTALL 安裝說(shuō)明上的辦法,其中的 .so 文件和真實(shí)的 .so 文件有差異,所以,你在安裝的時(shí)候需要注意到這個(gè)區(qū)別。
四、調(diào)整緩沖大小
PHP Accelerator 提供了緩沖管理命令:
phpa_cache_admin -mv 觀察內(nèi)存的緩沖情況
phpa_cache_admin -fv 觀察文件的緩沖情況
phpa_cache_admin -k 設(shè)置緩沖大小
五、總結(jié)
該軟件提供的 INSTALL 文件闡述了關(guān)于性能上的一些說(shuō)法,筆者不在這里贅述。
需要說(shuō)明的是,F(xiàn)reeLAMP.com 的文章目前不是 PHP 架構(gòu)的,但是論壇系統(tǒng)是 PHP 架構(gòu)的,所以性能上的提升只會(huì)是論壇系統(tǒng)的提升。(FreeLAMP:徐永久 提供本文)
我們知道 Zend 有免費(fèi)的優(yōu)化引擎針對(duì) PHP 而作,但是 FreeLAMP 這次采用的是一個(gè)叫做 PHP Accelerator 的緩沖產(chǎn)品。
我們?cè)?“LAMP 加速” 這篇文章中闡述過加速的幾種辦法,其中提到了 PHP Accelerator,它的安裝方法十分簡(jiǎn)單,但是需要去他的網(wǎng)站獲取一個(gè)激活鍵。
一、下載:
www.php-accelerator.co.uk/download.php
二、獲取激活鍵并安裝:
www.php-accelerator.co.uk/activate.php
注冊(cè)自己的 SERVER_NAME 后,你會(huì)得到下面的提示:
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 值的設(shè)置,可以參考軟件隨帶的 CONFIGURATION 文件的配置。
由于大多數(shù)網(wǎng)站是虛擬主機(jī)配置,所以,建議采用 php_value phpa. 的方式設(shè)置。
例如:
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
三、設(shè)置 php.ini
假設(shè)我們把下載后的文件解開到 /usr/local/php ,那么在 php.ini 中加入:
zend_extension=/usr/local/php/php_accelerator_1.2p2.so
并注釋掉原來(lái)的 Zend 優(yōu)化引擎:
# zend_extension=/usr/local/Zend/lib/ZendOptimizer.so
重新啟動(dòng) Apache ,用瀏覽器瀏覽一個(gè)任意 PHP 頁(yè)面可以看到 /tmp 下面生成了一些 phpa 開頭的文件。另外一個(gè)檢查緩沖是否起作用的辦法是看 phpinfo() 的輸出,原來(lái)的 Zend 優(yōu)化引擎的說(shuō)明部分,已經(jīng)被顯示成:
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
需要說(shuō)明的是,安裝 INSTALL 安裝說(shuō)明上的辦法,其中的 .so 文件和真實(shí)的 .so 文件有差異,所以,你在安裝的時(shí)候需要注意到這個(gè)區(qū)別。
四、調(diào)整緩沖大小
PHP Accelerator 提供了緩沖管理命令:
phpa_cache_admin -mv 觀察內(nèi)存的緩沖情況
phpa_cache_admin -fv 觀察文件的緩沖情況
phpa_cache_admin -k 設(shè)置緩沖大小
五、總結(jié)
該軟件提供的 INSTALL 文件闡述了關(guān)于性能上的一些說(shuō)法,筆者不在這里贅述。
需要說(shuō)明的是,F(xiàn)reeLAMP.com 的文章目前不是 PHP 架構(gòu)的,但是論壇系統(tǒng)是 PHP 架構(gòu)的,所以性能上的提升只會(huì)是論壇系統(tǒng)的提升。(FreeLAMP:徐永久 提供本文)
相關(guān)文章
PHP 第二節(jié) 數(shù)據(jù)類型之轉(zhuǎn)換
PHP 在變量定義中不需要(或不支持)明確的類型定義;變量類型是根據(jù)使用該變量的上下文所決定的2012-04-04