PHP如何开启Opcache功能提升程序处理效率


Posted in PHP onApril 27, 2020

简介

Opcache 的前生是 Optimizer+ ,它是 Zend 开发的 PHP 优化加速组件。Optimizer+ 将 PHP 代码预编译生成的脚本文件 Opcode 缓存在共享内存中供以后反复使用,从而避免了从磁盘读取代码再次编译的时间消耗。同时,它还应用了一些代码优化模式,使得代码执行更快。从而加速 PHP 的执行。

正常的执行流程如下:

PHP如何开启Opcache功能提升程序处理效率

开启 Opcache 后的执行流程如下:

PHP如何开启Opcache功能提升程序处理效率

Yum 安装

php -v
yum list *opcache*
yum -y install rh-php71-php-opcache.x86_64

kill -USR2 cat `/usr/local/php/var/run/php-fpm.pid`
nginx -s reload

配置

zend_extension=opcache.so
[opcache]
;开启opcache功能
opcache.enable=1

;CLI环境下,开启opcache功能
opcache.enable_cli=1

;OPcache共享内存的大小,单位MB
opcache.memory_consumption=128

;字符串在进程间驻留科使用的内存大小,单位MB
opcache.interned_strings_buffer=8

;内存中可以缓存的文件量。200-1000000之间
;可以使用“find . -type f -print | grep php | wc -l”统计文件数
opcache.max_accelerated_files=4000

;缓存的过期时间,单位秒
opcache.revalidate_freq=60

;开启快速响应机制来调用代码中的析构器,PHP 7.2.0 开始移除
opcache.fast_shutdown=1

;开启文件更新检查,到达 revalidate_freq 时间之后会检查文件变更并更新缓存,设为0则永不检查
opcache.validate_timestamps=1

;开启缓存二进制导出文件到外部文件,位置为传入的值
opcache.file_cache=/tmp

查看是否安装成功

php -m

<?php phpinfo(); ?>

常用函数

// 重置所有的opcache缓存。FPM模式下生成的缓存,在CLI下不能RESET。
var_dump(opcache_reset()); //bool(true)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php set_magic_quotes_runtime() 函数过时解决方法
Jul 08 PHP
解析PHP的session过期设置
Jun 29 PHP
教你如何使用php session
Oct 28 PHP
XAMPP安装与使用方法详细解析
Nov 27 PHP
php输入流php://input使用示例(php发送图片流到服务器)
Dec 25 PHP
PHP实现的简单日历类
Nov 29 PHP
PHP模拟http请求的方法详解
Nov 09 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
Nov 16 PHP
PHP PDOStatement::columnCount讲解
Jan 30 PHP
php设计模式之适配器模式原理、用法及注意事项详解
Sep 24 PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
Apr 27 #PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
Apr 27 #PHP
Thinkphp 框架扩展之驱动扩展实例分析
Apr 27 #PHP
Thinkphp 框架扩展之应用模式实现方法分析
Apr 27 #PHP
php让json_encode不自动转义斜杠“/”的方法
Apr 27 #PHP
PHP Pipeline 实现中间件的示例代码
Apr 26 #PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 26 #PHP
You might like
腾讯QQ微博API接口获取微博内容
2013/10/30 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
动态表格Table类的实现
2009/08/26 Javascript
jQuery 添加/移除CSS类实现代码
2010/02/11 Javascript
js 未结束的字符串常量错误解决方法
2010/06/13 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
动态创建script标签实现跨域资源访问的方法介绍
2014/02/28 Javascript
判断某个字符在一个字符串中是否存在的js代码
2014/02/28 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
javascript中tostring()和valueof()的用法及两者的区别
2015/11/16 Javascript
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
Vue3.0结合bootstrap创建多页面应用
2019/05/28 Javascript
Nodejs封装类似express框架的路由实例详解
2020/01/05 NodeJs
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
深入源码解析Python中的对象与类型
2015/12/11 Python
教你用Python写安卓游戏外挂
2018/01/11 Python
Sanic框架应用部署方法详解
2018/07/18 Python
浅析Python 实现一个自动化翻译和替换的工具
2019/04/14 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
Vans英国官方网站:美国南加州的原创极限运动潮牌
2017/01/20 全球购物
草莓网官网:StrawberryNET
2019/08/21 全球购物
局域网定义和特性
2016/01/23 面试题
综合测评自我鉴定
2013/10/08 职场文书
生产现场工艺工程师岗位职责
2013/11/28 职场文书
四年的大学生生活自我评价
2013/12/09 职场文书
施工资料员的岗位职责
2013/12/22 职场文书
三年大学自我鉴定
2014/01/16 职场文书
大学应届生的自我评价
2014/03/06 职场文书
《学会合作》教学反思
2014/04/12 职场文书
通信工程求职信
2014/07/16 职场文书
送给客户微信问候语!
2019/07/04 职场文书
HTML+CSS制作心跳特效的实现
2021/05/26 HTML / CSS
mybatis 获取更新记录的id
2022/05/20 Java/Android