OPcache未启用或配置不当会导致PHP脚本执行缓慢;需确认PHP版本≥5.5.0、启用zend_extension、设置opcache.enable=1、调整memory_consumption等参数,并通过phpinfo()或opcache_get_status()验证生效。

如果您在本地PHP环境中运行脚本时发现执行速度较慢,响应时间较长,则可能是由于OPcache未启用或配置不当。以下是开启并优化OPcache的具体操作步骤:
一、确认PHP版本及OPcache模块状态
OPcache自PHP 5.5.0起已内置,但默认可能未启用。需先验证当前PHP是否支持并加载了OPcache扩展。
1、在命令行中执行 php -v 查看PHP版本,确保为5.5.0或更高版本。
2、执行 php -m | grep opcache 检查OPcache模块是否已加载;若无输出,说明未启用。
立即学习“PHP免费学习笔记(深入)”;
3、执行 php --ini 获取php.ini文件实际路径,定位主配置文件位置。
二、启用OPcache扩展(Linux/macOS)
需在php.ini中取消opcache.so扩展的注释,并设置启用开关。
1、使用文本编辑器打开php.ini文件。
2、查找 ;zend_extension=opcache.so 行,删除开头的分号使其变为 zend_extension=opcache.so。
3、查找 ;opcache.enable=0 行,修改为 opcache.enable=1。
4、保存文件后,重启Web服务器(如Apache)或PHP-FPM服务。
三、启用OPcache扩展(Windows)
Windows环境下OPcache以DLL形式存在,需指定正确路径并启用。
1、在php.ini中查找 ;zend_extension=php_opcache.dll,取消注释。
2、确认该DLL文件存在于 ext/ 目录下;若不存在,需下载对应PHP版本的完整包补全文件。
3、添加或修改 opcache.enable=1 和 opcache.enable_cli=1(如需CLI模式生效)。
4、保存php.ini,重启IIS或Apache服务。
四、配置关键性能参数
仅启用OPcache不足以发挥最佳效果,需调整内存分配、缓存策略等核心参数。
1、设置共享内存大小:添加 opcache.memory_consumption=128(单位MB,建议64–256)。
2、设定最大缓存脚本数:添加 opcache.max_accelerated_files=4000(根据项目文件量调整)。
3、启用文件时间戳验证:添加 opcache.validate_timestamps=1(开发环境保持开启)。
4、设置检查间隔:添加 opcache.revalidate_freq=2(秒级,避免频繁IO)。
五、验证OPcache是否生效
通过PHP内置函数或信息页面确认OPcache已正确加载并运行。
1、创建一个PHP文件,内容为 ,在浏览器中访问。
2、在页面中搜索 opcache,确认“Opcode Caching”状态为 Enabled。
3、在命令行执行 php -r "print_r(opcache_get_status());",查看 opcache_enabled 值为 true 且 memory_usage 有非零值。











