php在5.5.0默认提供了Zend OPcache

eaccelerator无法兼容php5.5.0,好在php在5.5.0默认提供了Zend OPcache,所以一直习惯eaccelerator的朋友如果要升级到php5.5.0的话,可能要暂时和eaccelerator说bye bye了。
配置Zend OPcache
一直以来都习惯用eAccelerator为php提供加速,但是目前有两个问题:
eAccelerator暂时不兼容php5.5.0

eAccelerator和Zend Opcache冲突

好在php5.5.0默认提供了Zend Opcache为php加速,配置方法如下:
zend_extension =/usr/local/webserver/php-d/php-5.5.0/lib/php/extensions/no-debug-non-zts-20121212/opcache.so
; 上面zend_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
注意:如果在您的php扩展模块找不到opcache.so说明没有安装成功,请重新安装

http://www.tuicool.com/articles/ZjEJFbj

 

 

大家知道目前PHP的缓存插件一般有三个:APCeAcceleratorXCache,但未来它们可能都会消失,因为PHP 5.5已经集成Zend Opcache,功能和前三者相似但又有少许不同,缓存速度据说比它们更快(注意:只是据说,我没测试过)。

php5.5以后版本编译eAccelerator报错如下:

eaccelerator.c:66:23: error: php_logos.h: No such file or directory

究其原因是PHP5.5以下版本有php_logos.c,php_logos.h等文件。

如果想在新版本继续用加速,目前知道是的php自带扩展 opcache。

操作如下:

 

 

1

2

3

4

cd /usr/local/src/php-5.6.0/ext/opcache

/usr/local/webserver/php/bin/phpize

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

make && make install

最好修改/etc/php.ini在最后加入

 

 

1

2

3

4

5

6

7

8

[opcache]

zend_extension=/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20131226/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

重启php-fpm:

 

 

1

kill -USR2 `cat /usr/local/webserver/php/var/run/php-fpm.pid`

测试地址在https://gist.github.com/ck-on/4959032,把上面的代码保存为一个php文件放到你的网站目录下面打开就可以看到.

 

posted @ 2016-05-31 07:46  mull  阅读(302)  评论(0编辑  收藏  举报