如何禁用XAMPP或PHP的缓存?修改代码后仍展示旧版本问题求解
1. 禁用PHP OPcache(90%适配当前症状)
XAMPP默认开启OPcache服务端PHP脚本缓存,重装后会恢复默认配置,是改代码不生效的最高发原因:
- 点击XAMPP面板Apache行的「Config」按钮,打开
php.ini配置文件 - 搜索并修改以下配置项:
; 开发环境直接关闭OPcache opcache.enable=0 opcache.enable_cli=0
如果需要保留OPcache功能,可改为实时校验配置:
opcache.validate_timestamps=1 opcache.revalidate_freq=1
- 保存配置后重启Apache,刷新页面测试
2. 关闭Apache其余缓存模块
你仅注释了核心cache模块,还要检查其余关联缓存模块:
- 打开
httpd.conf以及conf/extra目录下的httpd-extra.conf - 注释以下所有缓存模块加载配置后重启Apache:
# LoadModule disk_cache_module modules/mod_disk_cache.so # LoadModule file_cache_module modules/mod_file_cache.so # LoadModule cache_disk_module modules/mod_cache_disk.so
3. 排查项目侧缓存逻辑
- 若使用框架,直接清空框架
runtime、cache、storage/cache目录下的所有文件 - 临时关闭项目自带的静态页生成、数据缓存配置
- 在项目入口文件最顶部加入测试代码
<?php echo time();exit;?>,如果时间戳可正常刷新说明是项目代码层缓存问题,若仍不刷新继续往下排查
4. 校验站点路径映射
避免你修改的文件实际不是Apache加载的站点文件:
- 打开
httpd.conf搜索DocumentRoot配置,确认路径和你修改的项目所在htdocs目录完全一致 - 检查是否配置了虚拟主机,站点指向的是其他目录而非当前修改的目录
- 直接修改htdocs根目录的
index.php加入测试输出,确认是否生效
5. 排查系统级文件问题
- 确认htdocs目录不在OneDrive、百度网盘等同步目录内,临时关闭同步工具后修改测试
- 右键查看你修改的PHP文件属性,确认修改时间和你保存的时间一致,排除文件未成功写入的问题
- 取消项目文件夹的只读、压缩属性后重试
内容的提问来源于stack exchange,提问作者Silver Lora
相关产品推荐
相关产品推荐

