新一代 PHP 加速插件 Zend Opcache

发表时间
评论 12

大家知道目前PHP的缓存插件一般有三个:APCeAcceleratorXCache,但未来它们可能都会消失,因为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查看是否生效,显示下面的信息就说明生效了



在phpinfo页面的下面可以看到的运行状态



如果嫌这个不直观可以装个PHP文件查看,地址在https://gist.github.com/ck-on/4959032,把上面的代码保存为一个php文件放到你的网站目录下面打开就可以看到:



命中率100%。

Zend Opcache因为最近才出来,现在还是测试版,相信在未来几年会越来越流行,现在真没多少人用。目前测试来看还比较稳定,我已经在 vbulletin论坛下运行了几天,不过没看出和APC、xcache有啥区别,只是最近我的APC老让apache崩溃(可能是apache和php版本太新的原因),想换个试试,毕竟Zend Opcache和APC都是php官方的,值得信赖。

windows下可以参考 这篇文章,从源里直接装可以参考 这篇文章

作者
分类 技术

评论

  1. robbin

    老鬼,回访一下,你的文章也很棒啊。
    友链一下 :P

  2. lijiayan

    路过留名支持!

  3. 水景一页

    那个 Opcache Control Panel 的可视化工具看着还真不赖啊。呵呵,我都没想过要看看效果如何,难道是因为对 PHP 官方太信任了?

  4. 这牛儿!

    这个要空间支持吧?

  5. 加密软件

    这应该还得配置主机来支持吧!

  6. levi

    不需要程序支持吗?DISCUZ是否也可以用?

  7. 海底猫

    真心不错 等等测试

  8. 中國民間偏方大全

    好久不關注老鬼的博客,今天上來看一下,竟然又回到 Textpattern CMS。嘿嘿,我也要加入。

  9. 米饭

    额,原来还有这个。不是5.5.4取消了eAccelerator的支持吗,那编译之后还能再装不?

  10. 按摩椅

    貌似很不错哦

  11. 铁壶

    貌似很不错哦

  12. seo

    技术文章啊。很不错的。

发表评论

在下面输入您的评论。 标为 * 的为必填项。在最终发表前您必须预览您的评论。





← 较早的 较新的 →