1. 程式人生 > >PHP緩存加速插件 XCache 、 ZendOpcache 安裝

PHP緩存加速插件 XCache 、 ZendOpcache 安裝

vim net 低版本 周期 png app ces 過期 pecl

PHP緩存原理

當客戶端請求一個PHP程序時,服務器的PHP引擎會解析該PHP程序,並將其編譯為特定的操作碼(OperateCode,簡稱opcode)文件,該文件是PHP代碼的一種二進制表示方式。默認情況下,這個編譯好的操作碼文件由PHP引擎執行後丟棄,而操作碼緩存(Opcode Cache)的原理就是將編譯後的操作碼保存到共享內存,以便下一次調用相同PHP程序時重復使用該操作碼,避免了相同代碼的重復編譯,節省了PHP引擎重復編譯的時間,降低了服務器負載同時節省了CPU和內存開銷,主要的緩存加速插件有eAccelerator、XCache、ZendOpcache等。

XCache緩存插件部署

XCache是一個開源的、又快又穩定的PHPopcode緩存插件,其項目leader曾經是Lighttpd的開發成員之一。XCache把PHP編譯後的opcode緩存到共享內存裏,避免相同的程序重復編譯。用戶請求相同的PHP程序時,可以直接使用緩存中已經編譯好的數據,從而提高PHP的訪問速度,通常可以提升2-5倍,並大幅度降低服務器負載開銷。很多公司使用XCache,它已經能在大流量、高負載的生產環境中穩定運行,與同類型的opcache緩存插件相比在各個方面都更勝一籌,同時xcache的社區活躍、開發快速,能夠快速跟進PHP的版本更新。目前的3.2版本全面支持PHP5.1-5.6,官方網站http://xcache.lighttpd.net

echo $LC_ALL
echo "export LC_ALL=C" >> /etc/profile
source /etc/profile
yum install perl-devel -y
#註:在做PHP擴展前要做好上述環境配置,以免編譯過程報錯 cd /server/tools/ wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz tar xf xcache-3.2.0.tar.gz cd xcache-3.2.0 /application/php/bin/phpize ./configure --enable-xcache --with-php-config=/application/php/bin/php-config make make install vim /application/php/lib/php.ini extension_dir = "/application/php-5.3.27/lib/php/extensions/no-debug-non-zts-20090626/" cp xcache.ini xcache.ini.bak grep -v "^;" xcache.ini.bak > xcache.ini echo -n "123456" | md5sum e10adc3949ba59abbe56e057f20f883e - vim xcache.ini [xcache-common] extension = xcache.so [xcache.admin] xcache.admin.enable_auth = On xcache.admin.user = "peter" xcache.admin.pass = "e10adc3949ba59abbe56e057f20f883e" [xcache] xcache.shm_scheme = "mmap" xcache.size = 256M xcache.count = 1 xcache.slots = 8K xcache.ttl = 86400 xcache.gc_interval = 3600 xcache.var_size = 64M ... #含義: 內存分配方式 緩存大小 將緩存切分為多少塊,推薦設置為CPU個數 grep -c processor /proc/cpuinfo hash槽個數 對象生存時間 掃描回收過期數據的周期 變量緩存的大小 echo ";xcache config by peter" >> /application/php/lib/php.ini cat xcache.ini >> /application/php/lib/php.ini /application/php/bin/php -v PHP 5.3.27 (cli) (built: Sep 14 2017 11:03:50) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies with XCache v3.2.0, Copyright (c) 2005-2014, by mOo with XCache Cacher v3.2.0, Copyright (c) 2005-2014, by mOo
#配置web監控界面 cp -a htdocs/ /application/nginx/html/xadmin chown -R nginx.nginx /application/nginx/html/xadmin pkill php-fpm /application/php/sbin/php-fpm http://172.16.1.88/xadmin

技術分享

ZendOpcache緩存插件部署

從PHP5.5開始,官方已經集成了新一代緩存加速插件ZendOpcache,編譯PHP時只需加上 --enable-opcache即可,據官方說緩存速度更快。 對於更低版本的PHP則需以擴展插件的形式安裝ZendOpcache,擴展插件支持PHP5.3-5.4。
cd /server/tools
wget http://pecl.php.net/get/zendopcache-7.0.5.tgz
tar xf zendopcache-7.0.5.tgz
cd zendopcache-7.0.5
/application/php/bin/phpize
./configure --enable-opcache --with-php-config=/application/php/bin/php-config
make
make install
ls /application/php-5.3.27/lib/php/extensions/no-debug-non-zts-20090626/

vim /application/php/lib/php.ini
[opcache]
zend_extension=/application/php-5.3.27/lib/php/extensions/no-debug-non-zts-20090626/opcache.so
;extension=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
#含義:
緩存大小
緩沖大小
散列表Key的最大數量,即opcode文件數量
檢查文件時間戳的周期
激活快速關閉隊列,可以加速代碼
激活PHPCLI的OPcache,用於測試和調試

[[email protected] zendopcache-7.0.5]# /application/php/bin/php -v
PHP 5.3.27 (cli) (built: Sep 14 2017 11:03:50)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend OPcache v7.0.5, Copyright (c) 1999-2015, by Zend Technologies

phpize是什麽

通過phpize可以建立PHP的外掛模塊,在編譯要添加的擴展模塊之前,需要執行一下phpize。

PHP緩存加速插件 XCache 、 ZendOpcache 安裝