大家知道目前PHP的快取區外掛程式一般有三個:APC、eAccelerator、XCache,但未來它們可能都會消失,因為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查看是否生效。
看過別人的文章效能有5~9%的提升。
參考文章:
http://www.tuicool.com/articles/yY7NRf
http://www.searchtb.com/2014/02/apc-lock-php-fpm.html
http://www.bo56.com/php%E7%9A%84-zend-opcache-vs-apc-%E6%80%A7%E8%83%BD%E6%AF%94%E8%BE%83/?spm=0.0.0.0.NEWthZ