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. T-SQL 之 控制流语句

    控制流语句也称为流程控制语句,是和高级编程语言中的类似功能一致的,引入控制流语句将使T-SQL代码有顺序执行转变为按控制执行. 批处理:一个批处理段是由一个或者多个语句组成的一个批处理,之所以叫批处理 ...

  2. Unity发布各平台路径

    #if UNITY_EDITOR string filepath = Application.dataPath + "/StreamingAssets"; #elif UNITY_ ...

  3. 利用Lucene把文本的字体格式进行改动,然后输出到一个新的文件里

    这里书中写的是charactorProcess(File file, String destFile) 这里被我改成.(String file,  String destFIle) 一个代表现有的文件 ...

  4. 关于索引的sql语句优化之降龙十八掌

    1 前言       客服业务受到SQL语句的影响非常大,在规模比较大的局点,往往因为一个小的SQL语句不够优化,导致数据库性能急剧下降,小型机idle所剩无几,应用服务器断连.超时,严重影响业务的正 ...

  5. 基于Unity3D云人脸监測技术

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师.CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D ...

  6. 【bat】通过for循环复制一张图片100次

    代码如下: @echo off set "F=1" cd C:\Users\Thinkpad\Desktop\img for /L %%F IN (1,1,100) DO COPY ...

  7. ubuntu——Kconfig、.config、Makefile的关系

    原文地址:http://blog.csdn.net/estate66/article/details/5886816 ,本人对此文有改进. 当我们编写完一个驱动后,我们要把它以模块形式编译或者直接编译 ...

  8. C#调取java接口

    1. public class APIRequest    {       //public static string commonUrl = @"http://192.168.2.186 ...

  9. 查询MYSQl数据表中的最后一条记录

    mysql: select * from table order by id DESC limit 1 oracle: select * from emp where id in (select ma ...

  10. Spring velocity 中文乱码 解决方案

    主要有这么几步,在spring web 的  [sevlet-name]-servlet.xml文件中,修改为: 黑体字体为关键,其它根据你的实际情况配置: <!-- ============= ...