You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Slim 4应用保存代码修改后刷新浏览器无法立即更新生效

Slim 4修改代码后延迟1分钟生效问题解决方案

你遇到的这个问题和Twig配置无关,核心是环境层面的缓存规则导致,按以下顺序排查即可解决:

核心原因:PHP OPcache默认校验周期为60秒

MAMP PRO默认开启OPcache扩展,该扩展会将编译后的PHP脚本、Twig模板运行时生成的编译文件缓存到共享内存中,默认配置下每60秒才会检查一次源文件是否有更新,和你描述的“等待约1分钟才生效”的症状完全吻合。
注意:你在Twig初始化时设置的cache => false仅控制Twig是否将编译后的模板写入磁盘缓存,不会干预OPcache在内存层面的代码缓存逻辑,所以修改该配置不会解决这个延迟问题。

修复方式:

  1. 打开MAMP PRO,切换到当前使用的PHP版本对应的php.ini配置文件
  2. 找到[opcache]配置段,修改以下参数:
opcache.enable = 1
; 开发环境下将文件更新校验周期设为0,每次请求都检查源文件是否修改
opcache.revalidate_freq = 0
; 确保开启文件时间戳校验,设为0会完全不检查文件更新
opcache.validate_timestamps = 1
  1. 保存配置后重启MAMP的PHP服务,刷新页面即可立即看到代码、模板的修改效果。

次要排查点:MAMP站点缓存

部分版本的MAMP PRO默认开启站点级响应缓存,默认TTL也是60秒:

  • 打开对应站点的设置面板,找到「Cache」选项卡
  • 开发环境下直接关闭站点缓存,或把缓存有效期设为0即可。

补充验证

你当前的Slim初始化、Twig配置、路由定义代码本身没有语法问题,修复完上述配置后可以额外检查项目目录下是否存在遗留的Twig磁盘缓存目录,如果有直接删除即可,不会影响后续运行。


内容的提问来源于stack exchange,提问作者cesarcarlos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 08:03:29