[实践OK]为PHP5.4开启Zend OPCode opcache缓存,加速效果好,高版本Memcache扩展都带上了。

jackxiang 2014-7-19 00:35 | |
背景:最近vps上安了PHP Version 5.4.30,没有加速器...性能不高,加上vps硬件不行,还得加上一个ea啥的,apc,有一个lpcache.so不错,安上。


PHP5.5开始内置了Zend OPcache的缓存系统,这个系统在5.2-5.4下也是可以使用的。经过测试,在php5.4下的加速性能明显,效果比5.2+ea还要好,在此推荐安装。
CentOS6中yum源中已经有git的版本了,可以直接使用yum源进行安装
yum -y install git
编译步骤:
git clone git://github.com/zend-dev/ZendOptimizerPlus.git
cd ZendOptimizerPlus
$PHP_DIR/bin/phpize
./configure \
  --with-php-config=$PHP_DIR/bin/php-config
make && make install

./configure --with-php-config=/usr/local/php/bin/php-config

配置步骤:

在 php.ini 内增加

zend_extension=/...full path.../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

另:PHP5.5下只需要编译时增加 --enable-opcache 参数即可:


静态编译配置不配置无所谓了?
PHP是这样的:
[root@jackxiang ~]# php -v
PHP 5.5.15 (cli) (built: Aug 10 2014 15:18:31)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
但好像用那个下载的php统计好像说是没有发现这个opcache,奇了怪了,呵。
ocp.php?FILES=1&GROUP=2&SORT=3
出现:Opcache not detected?
原因:
配置好这个opcache后没有重启php-fpm,所以,重启动好了。
[root@jackxiang ~]# php -m|grep OP
Zend OPcache
Zend OPcache
————————————————————————————————————————

出现:You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
如果想看到底命中多少百分比的opcache,有个php可以运行下:
https://gist.github.com/ck-on/4959032/download#

configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
说需要安装re2c
执行以下命令
wget http://sourceforge.net/projects/re2c/files/re2c/0.13.5/re2c-0.13.5.tar.gz/download
tar -zxvf re2c-0.13.5.tar.gz
cd re2c-0.13.5
./configure && make && make install


推荐使用:Zend OPcache 控制面板:
https://gist.github.com/ck-on/4959032

来自:http://chen.so/post/71/
http://www.laogui.com/Zend-Opcache
新一代 PHP 加速插件 Zend Opcache:
http://www.laogui.com/Zend-Opcache
最后,
效果还是有的,这个数值表现出的效果是相当的明显:
Cache hits   15338969
Cache misses   294
————————————————————————————
op于ea的性能对比:http://dafengzi.com/?p=4


是否可以一起安,更牛x呀,哈哈:Add Time:2014-08-20
————————————PHP高级研究群———————————————
PHP里的Zend的OPcache 和 eaccelerator 同时使用是不是效果更好?
上午 10:49:58
啥也不会
14/8/20 星期三 上午 10:49:58
会冲突
七夜
14/8/20 星期三 上午 10:51:58
直接opcache就行

————————————低级PHP码农———————————————
PHP里的Zend的OPcache 和 eaccelerator 同时使用是不是效果更好?
【活跃】[沪部]-莫莫
14/8/20 星期三 上午 10:40:19
胡扯的吧
【活跃】[沪部]-莫莫
14/8/20 星期三 上午 10:40:28
opcache  选一个吧
【活跃】[沪部]-莫莫
14/8/20 星期三 上午 10:40:33
选opcache 吧
上午 10:40:50
【活跃】[沪部]-莫莫
14/8/20 星期三 上午 10:40:50
两个功能重叠了 你觉得好吗?【


听说高版本的PHP连Memcache都自带了,莫莫给了一文章:
http://blog.csdn.net/zqtsx/article/details/23942605
摘录片段:
安装MEMCACHE,和OPCACHE扩展
(因为php5.5X+版本已经内置了memcache和opcache扩展,所以不必另行下载,即可采用以下方式进行编译)
1.memcache
如果需要为php增加memcache扩展,按如下方法进行:
cd /usr/local/php/bin
./pecl install memcache

安装时会提示是否开启session支持,根据需要输入no 或者 yes,安装后路径如下:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so

需要手动配置到php.ini中,增加如下内容,即表示启用memcache扩展:
extension=memcache.so
保存后,重启Apache,或PHP-FPM。


/usr/local/php/bin/pecl install memcache
Installing shared extensions:     /tmp/pear/temp/pear-build-root9N8MRR/install-memcache-2.2.7/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
一阵编译......
Build process completed successfully
Installing '/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so'
install ok: channel://pecl.php.net/memcache-2.2.7
configuration option "php_ini" is not set to php.ini location
You should add "extension=memcache.so" to php.ini

service php-fpm restart

看样子,这个pecl是想做一个类linux的yum 或apt-get啊。

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/7334/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2019-9-3 17:32
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]