Zend OPCache的前身是Zend Optimizer + (Zend O+),在PHP5.5的发行版本中自带了Zend O+,并重新命名为:Zend OPCache。但是默认是没有启用的,可以在ini文件中enable一下。

据统计,zend opcache比apc性能要好,可以提升提升 5%-9%。

值得关注的是Zend OPCache支持PHP5.2.0+的版本,也就是说只要是5.2以上的PHP,都可以是用Zend OPCache,而不需一定要升级到PHP5.5,所以在我们目前的生产站点可以尝试使用Zend OPCache,如基于Drupal6、Drupal7的PHP5.2,PHP5.3等版本。

Drupal大学上也有关于这个问题的讨论,链接一下:Zend OPCache和APC能共用吗?

安装Zend OPCache,推荐使用自带源或者PECL包的安装方式。

yum install php-pecl-zendopcache.x86_64 -y

启用Zend OPCache, 编辑 /etc/php.d/opcache.ini 文件

zend_extension=/usr/lib64/php/modules/opcache.so
 
; Determines if Zend OPCache is enabled
opcache.enable=1

重启web服务器即可,查看info,即可看到Zend OPCache项或者使用 php -i|grep opcache。

相关问题,
1. Zend OPCache是做opcache的缓存,那么APC是还需要?个人认为,这个就不需要了,因为功能重复,虽然两个同时安装没有什么bug,但是还是不推荐使用。
ServerFault上面的也有关于apc和Zend OPCache公用的讨论,推荐不要一起用。
http://serverfault.com/questions/610524/can-zend-opcode-cache-and-apc-cache-run-together-on-same-server

2. 禁用apc相关的处理方案。
如果不使用apc,apc_store等相关apc的函数需要禁用。如果系统里面有很多相关的apc函数,可以使用apcu模块,此模块只有apc的user cache功能。
还有apc的上传进度相关功能需要代替,可以使用PHP自带的session,session.upload-progress.enabled
http://php.net/manual/en/session.configuration.php#ini.session.upload-progress.enabled

3. save_comments选项

opcache.save_comments=1

如果禁用此选项,那么PHP中所有的comment会被禁用,性能会提升,但是有些框架可能会受影响,比如Wordpress,Drupal8、PHPUnit等,建议不要禁用。

4. Zend OPCache的管理工具
两个比较好用的OPCache管理工具,笔者测试了第一个,不过貌似第二个更强大一些,呱呱^_^:
https://github.com/amnuts/opcache-gui
https://github.com/PeeHaa/OpCacheGUI


 

本文有效链接: http://www.drupal001.com/2014/09/zend-opcache-php/

用Zend OPCache提高PHP的性能的更多相关文章

  1. 使用Zend OpCache 提高 PHP 5.5+ 性能

    使用Zend OpCache 提高 PHP 5.5+ 性能 作者:admin | 时间:February 28, 2015 | 分类:Linux | 评论:1 评论 PHP 5.5 以后内建了 OpC ...

  2. 开启opcache提高性能

    在开启opcache之前,我们先介绍一下编译与解释: 编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快:而解释器则是只在执行程 ...

  3. 编译安装 Zend Opcache 缓存Opcache,加速 PHP

    Optimizer+ 是 Zend 开发的闭源但可以免费使用的 PHP 优化加速组件,是第一个也是最快的 opcode 缓存工具.现在,Zend 科技公司将 Optimizer+ 在 PHP Lice ...

  4. php-5.3 zend opcache 的设置

    故障现象,修改了代码上传到生产服务器之后,需要等待60秒才生效. 细查了一下,是opcache引起的,默认是60秒.于是我给关了,之前是ea加速,现在新版本的php好像用这个opcache了:; 2s ...

  5. php Zend Opcache,xcache,eAccelerator缓存优化详解及对比

    XCACHE XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能. 他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接 ...

  6. 新一代 PHP 加速插件 Zend Opcache <转>

    注: 由于原链接已不存在, 所以我把图片重新整理了一下, 以便看起来更加直观 笔者注: 1>  PHP 性能提升之 PHP NG  =>  php next generation wiki ...

  7. Zend Optimizer,Zend Guard Loader 和 Zend Opcache 三者之间的区别

    PHP的加速插件有三个:Zend Optimizer.Zend Guard Loader 和 Zend Opcache.但其实都是一个,针对不通的php版本.名字叫法不一样而已. Zend Optim ...

  8. PHP使用Zend Opcache之优化加速和缓存清理总结

    简介 字节码缓存不是php的新特性,有很多独立性的扩展可以实现缓存,比如PHP Cache(APC),eAccelerator,ionCube和XCache等等.但是到目前为止,这些独立的扩展并没有集 ...

  9. zend opcache的最佳设置

    2016-01-21 在网上无意中看到的一篇文章,这哥们非常简洁地谈论了zend opcache的最佳设置,他说他为此花了大量的时间探索zend opcache的每个设置选项的细节,甚至是阅读它的源代 ...

随机推荐

  1. android中可以使用bitmap的平铺,镜像平铺等减小图片带来的apk过大的问题

    bitmap的平铺.镜像drawable文件夹中新建bitmap,其中的tileMode属性 tileMode 属性就是用于定义背景的显示模式:  disabled  默认值,表示不使用平铺  cla ...

  2. dll和exe的共享节------多进程共享dll/exe全局变量

    我们都知道同一个应用程序的多个实例之间并不会影响各自的变量,虽然他们的地址空间都是被该应用程序的映像内的物理存储器所提交,他们的数据和代码都是指向了该应用程序的映像,但是他们还是不会影响各自的变量,因 ...

  3. SEO优化实践操作

    合理的title.description.keywords:搜索对着三项的权重逐个减小,title值强调重点即可,重要关键词出现不要超过2次,而且要靠前,不同页面title要有所不同:descript ...

  4. Be Happy.——我的ACM退役贴

    一个月的忙碌后,最终能静下心来写一些什么. 该结束的最终都要结束了.考试,课程设计,所剩寥寥无几的大学时光,ACM. 看过不少大牛的退役贴,自嘲成银牌狗铜牌狗.写一写碎碎念,大抵如此,每一个人都无法落 ...

  5. 在 HTML 中使用JavaScript

    <script>元素 属性     async:可选.async 属性规定一旦脚本可用,则会异步执行,表示应该立即下载脚本,但不妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本.a ...

  6. scribe 搭建遇到的问题

    1.如果安装了多个boost版本或boost路径不是scribe脚本指定的话,会出现问题: checking whether the Boost::System library is availabl ...

  7. Sublime Text 包管理工具及扩展大全

    Sublime Text 是程序员们公认的编码神奇,拥有漂亮的用户界面和强大的功能,例如代码缩略图,多重选择,快捷命令等.还可自定义键绑定,菜单和工具栏.Sublime Text 的主要功能包括:拼写 ...

  8. ibatis/mybatis显示sql语句 log4j.properties配置文件

    将ibatis/mybatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句,方便调试: ### 设置Logger输出级别和输出目的地 ### log4j.rootL ...

  9. 缺省模板参数(借助标准模板容器实现Stack模板)、成员模板、关键字typename

    一.缺省模板参数 回顾前面的文章,都是自己管理stack的内存,无论是链栈还是数组栈,能否借助标准模板容器管理呢?答案是肯定的,只需要多传一个模板参数即可,而且模板参数还可以是缺省的,如下: temp ...

  10. C数组逆序

    一.标准交换模式 /**** *标准交换模式 *实现数组的逆序,原理就是数组的首尾元素进行交换 ***/ #define N 5; int main(){ int array[N] = {15,20, ...