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语法(5)
Oct 09 PHP
判断PHP数组是否为空的代码
Sep 08 PHP
PHP得到某段时间区间的时间戳 php定时任务
Apr 12 PHP
php实现快速排序法函数代码
Aug 27 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
Jun 28 PHP
php判断页面是否是微信打开的示例(微信打开网页)
Apr 25 PHP
php几个预定义变量$_SERVER用法小结
Nov 07 PHP
php按字符无乱码截取中文的方法
Mar 27 PHP
php随机获取金山词霸每日一句的方法
Jul 09 PHP
PHP中OpenSSL加密问题整理
Dec 14 PHP
smarty模板的使用方法实例分析
Sep 18 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 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
PHP下操作Linux消息队列完成进程间通信的方法
2010/07/24 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
php实现只保留mysql中最新1000条记录
2015/06/18 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
微信小程序中setInterval的使用方法
2017/09/29 Javascript
详解Angular6.0使用路由步骤(共7步)
2018/06/29 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
Makefile/cmake/node-gyp中区分判断不同平台的方法
2018/12/18 Javascript
JavaScript文本特效实例小结【3个示例】
2018/12/22 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
js实现蒙版效果
2020/01/11 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
Vue跨域请求问题解决方案过程解析
2020/08/07 Javascript
JavaScript实现弹出窗口效果
2020/12/09 Javascript
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
2018/03/22 Python
python 接收处理外带的参数方法
2018/12/03 Python
python elasticsearch环境搭建详解
2019/09/02 Python
tensorflow 限制显存大小的实现
2020/02/03 Python
python中random模块详解
2021/03/01 Python
css3新增颜色表示方式分享
2014/04/15 HTML / CSS
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
html5新增的属性和废除的属性简要概述
2013/02/20 HTML / CSS
新西兰廉价汽车租赁:Snap Rentals
2018/09/14 全球购物
如何提高MySql的安全性
2014/06/19 面试题
高中班长自我鉴定
2013/12/20 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
热门专业求职信
2014/05/24 职场文书
房屋质量投诉书
2015/07/02 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书
Python 多线程之threading 模块的使用
2021/04/14 Python