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 中的一些经验积累
Oct 09 PHP
目录,文件操作详谈―PHP
Nov 25 PHP
追求程序速度,而不是编程的速度
Apr 23 PHP
php自定义的格式化时间示例代码
Dec 05 PHP
php遍历数组的4种方法总结
Jul 05 PHP
在html文件中也可以执行php语句的方法
Apr 09 PHP
再Docker中架设完整的WordPress站点全攻略
Jul 29 PHP
PHP中include和require的区别实例分析
May 07 PHP
php 二维数组快速排序算法的实现代码
Oct 17 PHP
Yii2.0实现生成二维码功能实例
Oct 24 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
Feb 14 PHP
PHP7新增函数
Mar 09 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
discuz7 phpMysql操作类
2009/06/21 PHP
调整优化您的LAMP应用程序的5种简单方法
2011/06/26 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
javascript 三种编解码方式
2010/02/01 Javascript
NodeJs中的非阻塞方法介绍
2012/06/05 NodeJs
js清除input中type等于file的值域(示例代码)
2013/12/24 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
js表格排序实例分析(支持int,float,date,string四种数据类型)
2015/05/06 Javascript
Spring MVC中Ajax实现二级联动的简单实例
2016/07/06 Javascript
用原生js做单页应用
2017/01/17 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
微信小程序实现传参数的几种方法示例
2018/01/10 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
分享python数据统计的一些小技巧
2016/07/21 Python
Python中格式化format()方法详解
2017/04/01 Python
python使用Plotly绘图工具绘制水平条形图
2020/03/25 Python
python实现知乎高颜值图片爬取
2019/08/12 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
在pycharm中文件取消用 pytest模式打开的操作
2020/09/01 Python
HTML+CSS3 模仿Windows7 桌面效果
2010/06/17 HTML / CSS
html5使用canvas实现弹幕功能示例
2017/09/11 HTML / CSS
施华洛世奇新加坡官网:SWAROVSKI新加坡
2020/10/06 全球购物
放飞蜻蜓反思
2014/02/05 职场文书
入党推优材料
2014/06/02 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
党员贯彻十八大精神思想汇报范文
2014/10/25 职场文书
保洁员岗位职责
2015/02/04 职场文书
2015国庆节宣传语
2015/07/14 职场文书
幼儿教师继续教育培训心得体会
2016/01/19 职场文书
六年级上册《闻官军收河南河北》的教学设计
2019/11/15 职场文书
Go web入门Go pongo2模板引擎
2022/05/20 Golang