PHP 加速插件 Zend Opcache

目前PHP的緩存插件一般有三個:APCeAcceleratorXCache,但未來它們可能都會消失,因爲PHP 5.5已經集成Zend Opcache,功能和前三者相似但又有少許不同,緩存速度據說比它們更快(注意:只是據說,我沒測試過)。

這幾個PHP加速插件的主要原理都相同,就是把PHP執行後的數據緩衝到內存中從而避免重複的編譯過程,能夠直接使用緩衝區已編譯的代碼從而提高速度,降低服務器負載,它們的效率是顯而易見的,像drupal這種龐大的CMS,每次打開一個頁面要調用數十個PHP文件,執行數萬行代碼,效率可想而知,在安裝APC等加速器後打開頁面的速度明顯加快。

Zend Opcache 已經集成在了PHP 5.5裏面,編譯安裝PHP5.5的時候加上--enable-opcache就行了。但也支持低版本的 PHP 5.2.*, 5.3.*, 5.4.*,未來會取消對5.2的支持,下面是我在PHP 5.4下的安裝方法:

依次執行下面的命令
wget http://pecl.php.net/get/zendopcache-7.0.2.tgz
tar xzf zendopcache-7.0.2.tgz
cd zendopcache-7.0.2
phpize 
如果找不到phpize 的話自己找PHP路徑,我的在/usr/local/php/bin/phpize,下面這行也要按你的php.ini路徑自行修改
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

如果顯示Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/ 表示安裝完成,下面要修改php的配置文件讓它生效

在 php.ini 的最後面加入下面幾行
zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-20100525/opcache.so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

128意思是給它分配128M內存,然後重啓apache,用phpinfo查看是否生效,顯示下面的信息就說明生效了

wKiom1PQnlzxw63xAACWlTQXmM0654.jpg

在phpinfo頁面的下面可以看到的運行狀態

wKioL1PQn5Szo1BSAAFxX-hVL90415.jpg

如果嫌這個不直觀可以裝個PHP文件查看,地址在http://zrer90.blog.51cto.com/8679896/1529644

上面的代碼保存爲一個php文件放到你的網站目錄下面打開就可以看到:

wKiom1PQoIKAnLzLAANfv81Urd4338.jpg

命中率100%。

Zend Opcache因爲最近纔出來,現在還是測試版,相信在未來幾年會越來越流行,現在真沒多少人用。目前測試來看還比較穩定,我已經在 vbulletin論壇下運行了幾天,不過沒看出和APC、xcache有啥區別,只是最近我的APC老讓apache崩潰(可能是apache和php版本太新的原因),想換個試試,畢竟Zend Opcache和APC都是php官方的,值得信賴。

 

本文作者:laogui

http://www.laogui.com/Zend-Opcache

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