首页 > Web开发 > 详细

PHP7 开启Zend Opcache

时间:2020-05-23 22:14:21      阅读:81      评论:0      收藏:0      [点我收藏+]

作为PHP这10年来最大的版本与性能升级,PHP7在多次的测试中都表现出很夸张的性能提升,然而,为了让它能发挥出最大的性能,需要手动开启PHP自带的opcache使其性能加速(默认是关闭的)。对于PHP 5.5以下版本的,需要使用APC加速,这里不说明,可以自行上网搜索PHP APC加速的方法。

 

PHP 5.3.X   以前版本 为  Zend Optimizer
PHP 5.3.X   之后 更名为  Zend Guard Loader
PHP 5.5.X  后为 Zend Opcache

 

什么是zend opcache?

Zend OPcache通过 opcode 缓存和优化提供更快的 PHP 执行过程。它将预编译的脚本文件存储在共享内存中供以后使用,从而避免了从磁盘读取代码并进行编译的时间消耗。同时,它还应用了一些代码优化模式,使得代码执行更快。

当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(Operate Code,opcode)。Opcode cache 的目地是避免重复编译,减少 CPU 和内存开销。如果动态内容的性能瓶颈不在于 CPU 和内存,而在于 I/O 操作,比如数据库查询带来的磁盘 I/O 开销,那么 opcode cache 的性能提升是非常有限的。但是既然 opcode cache 能带来 CPU 和内存开销的降低,这总归是好事!

现代操作码缓存器(Optimizer+,APC2.0+,其他)使用共享内存进行存储,并且可以直接从中执行文件,而不用在执行前“反序列化”代码。这将带来显着的性能加速,通常降低了整体服务器的内存消耗,而且很少有缺点。

开启opcahe

修改php.ini 搜索 : “[opcache]”
增加以下代码(或者在原有基础上改一下):

  1. zend_extension = php_opcache.dll
  2. opcache.enable=1
  3. opcache.enable_cli=1
  4. opcache.memory_consumption=128
  5. opcache.max_accelerated_files=2000

几个重要参数的作用说明:

  1. opcache.enable=1 //开启opcache
  2. opcache.enable_cli=1 //是否在CLI(即命令行时)启用opcache
  3. opcache.memory_consumption=128 //共享内存的大下 可以根据项目大小和服务器配置自行调整
  4. opcache.max_accelerated_files=2000 //最大缓存文件个数

设置好后,重启apache即可。打开phpinfo观察变化:
证明 zend opcache 已经成功开启。经过测试效果明显(因为减少了编译次数也减少了磁盘io开销)

技术分享图片

PHP7 开启Zend Opcache

原文:https://www.cnblogs.com/66w66/p/12944203.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!