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的缓存插件一般有三个:APC、eAccelerator、XCache,但未来它们可能都会消失,因为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文件放到你的网站目录下面打开就可以看到.