OPcache 在 XAMPP 7.4.33 中需通过 zend_extension 加载 php_opcache.dll、启用 opcache.enable=1、禁用 CLI 模式,并调优 memory_consumption、max_accelerated_files 等参数,最后重启 Apache 并用 phpinfo() 验证生效。

在 XAMPP 7.4.33(Windows 环境)中启用并配置 OPcache,关键不是“安装”,而是正确加载 zend_extension、开启开关、调优核心参数,并确保它作用于 Apache + PHP-FPM 或 mod_php 模式下的 Web 请求(而非仅 CLI)。很多人配置后无效,根源在于扩展加载方式错误或未区分 CLI/Web 配置。
确认 OPcache 已存在且路径正确
XAMPP 7.4.33 自带 OPcache,位于:
E:\xampp\php\ext\php_opcache.dll(路径以你实际 XAMPP 安装盘符和目录为准)
请先检查该文件是否存在。若缺失,说明安装包异常,需重装标准版 XAMPP。
修改 php.ini 启用 OPcache(必须用 zend_extension)
打开 E:\xampp\php\php.ini,在文件末尾添加或修改以下区块:
- 取消注释或新增这一行(注意:必须是 zend_extension,写成
extension=php_opcache.dll会静默失败):zend_extension="E:\xampp\php\ext\php_opcache.dll" - 确保启用开关已打开:
opcache.enable=1 - 禁用 CLI 模式下的 OPcache(避免干扰 composer/artisan):
opcache.enable_cli=0
设置关键性能参数(适配现代项目)
在 [opcache] 区块下(或新建该区块),补充以下配置:
-
opcache.memory_consumption=256(单位 MB,中小型站可 128,Laravel/WordPress 建议 256) -
opcache.max_accelerated_files=20000(默认 2000 远不够,vendor 文件多时极易缓存淘汰) -
opcache.validate_timestamps=1(生产环境必须为 1,否则代码更新后白屏或 Class not found) -
opcache.revalidate_freq=60(每 60 秒检查一次文件时间戳;设为 0 = 每次请求都检查,失去加速意义) -
opcache.interned_strings_buffer=16(缓解类名/函数名字符串重复占用,尤其 Composer 项目) -
opcache.fast_shutdown=1(优化内存释放,提升响应速度)
重启 Apache 并验证是否真生效
保存 php.ini 后,必须重启 XAMPP 控制面板中的 Apache 服务(不是只点“应用”)。
验证步骤:
- 在 E:\xampp\htdocs\ 下新建
info.php,内容:<?php phpinfo(); ?> - 浏览器访问
http://localhost/info.php - 搜索 “Loaded Configuration File” → 确认显示的是你刚编辑的
php.ini路径 - 搜索 “Opcode Caching” → 显示 Enabled
- 搜索 “opcache.enable” → 值为 On(不是 “On” 表示没生效)
- 如仍报
Call to undefined function opcache_get_status(),说明 zend_extension 未加载成功,请回头检查路径和拼写


















