OPcache 是 PHP 层面的字节码缓存机制,和 WordPress 本身的页面缓存、对象缓存不是一回事。它会把 PHP 代码编译后的操作码缓存到内存,省去重复编译的开销,是提升PHP站点访问速度非常有效的手段。
重点:OPcache 是内存缓存,不会写入硬盘;WordPress 原生后台没有自带 OPcache 查看、重置功能。
先确认服务器是否开启 OPcache
你可以进入 WordPress 后台:工具 → 站点健康 → 信息 → 服务器
在这里能看到 OPcache 相关状态信息:
- 操作码缓存(开启/关闭)
- 操作码缓存内存使用量
- 操作码缓存驻留字符串使用量
- 操作码缓存命中率
- 操作码缓存是否已满
命中率越高,代表加速效果越好;如果提示缓存已满,就需要调整内存大小或者清空缓存。
开启 OPcache(未启用时操作)
找到当前网站对应的 php.ini 配置文件,搜索这一行:
;zend_extension=opcache
把前面的分号 ; 删除,保存文件,重启PHP服务即可生效。
调整 OPcache 内存大小
默认 opcache.memory_consumption 一般为128M,流量大、插件主题多的 WordPress 站点很容易跑满。
同样在 php.ini 内找到该参数,根据服务器内存情况修改:
opcache.memory_consumption=256
服务器富余的话,可以设置为 256、512,单位 MB。
配套推荐参数(直接复制进php.ini)
opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.max_wasted_percentage=10
opcache.revalidate_freq=60
opcache.validate_timestamps=1
validate_timestamps=1 :会自动检测PHP文件改动,自动刷新缓存(开发调试建议打开;正式生产追求极致速度可以关闭,改代码后手动清缓存)
什么时候需要清理 OPcache?
正常运行时不需要频繁清理。
下面这些场景,清理缓存才能让修改生效:
1. 手动升级 WordPress 核心、更新主题/插件代码
2. 修改主题PHP文件、自定义插件源码
3. 关闭 opcache.validate_timestamps ,不会自动检测文件变更
4. OPcache内存占满、命中率下降、网站出现奇怪的旧代码报错
两种清理 OPcache 的方法
方法1:重启PHP服务(最简单、稳定,推荐生产环境)
进入服务器面板(1Panel/宝塔等),找到对应版本的PHP,点击【重启】。
OPcache全部数据保存在内存,重启PHP进程后内存直接释放,缓存一次性清空,无额外依赖,不容易出权限问题。
方法2:WordPress后台一键清理(适合不想重启PHP)
安装插件:OpCache Monitor and Reset
插件功能:
✅ 可视化查看内存占用、缓存命中率、缓存文件数量
✅ 一键 Clean OPcache 重置缓存
✅ 查看当前 OPcache 全部配置快照
✅ 监控缓存运行状态,及时发现缓存溢出
小提醒:该插件依赖PHP权限,部分面板、容器环境可能会调用失败,失败时改用方案一重启PHP。
补充避坑要点
1. OPcache 和 Redis、WP Rocket、LiteSpeed 页面缓存互相独立,清OPcache≠清页面缓存;改完代码建议两类缓存都刷新
2. 缓存命中率建议维持 95% 以上;长期低于90%优先加大 opcache.memory_consumption
3. 内存不要盲目拉满,给系统、MySQL、Redis预留足够内存,防止服务器OOM
4. 若为容器化部署PHP,修改php.ini、重启PHP都要在容器内操作





