根据PHP的执行逻辑,每一个php函数在执行的时候php会先把此函数进行编译解析。Opcache是PHP官方公司开发的一款PHP优化加速扩展,它的原理把PHP函数编译解析后的内容进行缓存,从而提高PHP的执行速度!根据测试,能有效的提高2到5倍左右的执行效率。
安装Opcache就十分简单了,直接安装 Opcache 扩展,再重启PHP服务即可!
登录宝塔面板后台,找到php7.4管理→安装扩展,找到Opcache ,我们直接点击后面的安装,等一会儿就安装成功。
宝塔首页如果没有显示php管理的话,我们在宝塔面板后台,左侧栏找到“软件商店”→“已安装”→找到php7.4(看你自己安装的php版本),点击“设置”→安装扩展,找到Opcache 进行安装。

看是否已经开启 Opcache ,点击phpinfo查看到下图的内容。

可以看到一个大大绿色的Yes,表示已经开启 Opcache缓存器 了。如果觉得没有在 WordPress 站点下生效,点击该页面的查看phpinfo(),可以看到下图的内容,懒的用眼看的小伙伴直接Ctrl+F搜关键词Opcache就能看到了。

Cache hits 就是缓存命中,Cache misses 就是没有缓存命中。
使用宝塔安装 Opcache 之后会自动配置好扩展参数,如需适当修改,进入配置文件,搜索;opcache,即可看到配置参数:

对应的配置解释:
opcache.enable=1 (default "1")
;OPcache打开/关闭开关
opcache.memory_consumption=128 (default "64")
;OPcache共享内存存储大小。用于存储预编译的opcode(以MB为单位)。
opcache.interned_strings_buffer=8 (default "4")
;OPcache字符串驻留大小,(以MB为单位)
opcache.max_accelerated_files=80000 (default "2000")
;OPcache控制内存中最多可以缓存多少个PHP文件,建议设置大一点,大于你的项目中的所有PHP文件的总和
opcache.revalidate_freq=3 (default "2")
;OPcache设置缓存的过期时间(单位是秒);几秒内内容不会刷新,如果需要实时更新可以设置为 0
opcache.fast_shutdown=1(default “0”)
;OPcache更快速清理内存的机制,实际效果视环境而异
; =====================================================================
; Zend OPcache 生产级完整配置 (PHP ≥ 7.4)
; =====================================================================
[opcache]
; 1. 基础开关
opcache.enable=1 ; 总开关
opcache.enable_cli=0 ; CLI 不加速,节省内存
opcache.memory_consumption=256 ; 共享内存(MB),≥ 20000 文件建议 256
opcache.interned_strings_buffer=16 ; 字符串驻留(MB)
opcache.max_accelerated_files=20000 ; 最多缓存脚本数,8 万文件可再提高
opcache.max_wasted_percentage=10 ; 内存浪费比例达 10 % 时自动重启
; 2. 时间戳校验(生产关,开发开)
opcache.validate_timestamps=0 ; 0 = 不校验,最快
opcache.revalidate_freq=0 ; 配合上行,0 表示永不重新验证
; 3. 性能微调
opcache.save_comments=1 ; 保留注解(Doctrine、Laravel 需要)
opcache.fast_shutdown=1 ; 快速清理,PHP ≥ 7 无负面作用
opcache.enable_file_override=1 ; 在文件很多时绕过多余 stat
opcache.optimization_level=0x7FFFBFFF ; 默认最大优化集,保持默认即可
; 4. 日志与排错(初始 1 周后可关)
opcache.error_log=/var/log/php-opcache.log
opcache.log_verbosity_level=1 ; 1=warning,3=debug(调完改回 1)
; 5. 安全加固(可选)
opcache.restrict_api=/www ; 只允许 /www 目录脚本调用 opcache API
opcache.validate_permission=1 ; 检查文件读权限
opcache.validate_root=1 ; 防止跨根目录包含
缓存安装好了之后,怎么查看效果呢?
使用火狐浏览器或者Chrome浏览器按F12进入浏览器控制台Console就能看到了。你可以测试一下,未开缓存以及开启缓存的实际效果。

努力鸭