thinkphp6路由缓存需手动清除才能生效——必须先执行php think route:clear或删除runtime/route/route.php,再确认app_debug=false且app_route=true,最后用php think route:list验证新路由是否加载成功。

ThinkPHP6路由缓存没更新,不是改了route/app.php就自动生效——框架会优先加载已生成的缓存文件,旧规则还在 runtime 里躺着,新路由根本进不来。得先清旧、再确认、最后稳住。
必须立刻清理的路由缓存文件
TP6默认把路由编译成 PHP 文件写进 runtime/route/route.php,只要这个文件存在,哪怕你删了 route/app.php 里的所有内容,请求照样走老逻辑。
- 执行命令:
php think route:clear(推荐,安全且精准) - 手动清理更彻底:
rm -f runtime/route/route.php - 如果用了注解路由,顺手清掉
runtime/annotation/目录(TP6.3+ 默认启用)
确认路由开关和调试模式是否真关了
路由缓存只在非调试模式下生成并启用,app_debug => true 时它压根不工作,清了也白清。
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
- 检查
config/app.php中'app_debug' => false,不是字符串也不是数字 0 - 确认
.env里没有APP_DEBUG=true覆盖项 - 运行
php think env:show或控制器里dump(config('app.app_debug'))验证值确实是 false - 同时确认
'app_route' => true已开启,否则路由解析流程直接跳过
验证新路由是否真正加载成功
别只信“命令执行成功”,要看实际生效结果。
- 执行
php think route:list,搜索你的新 URL(比如api/users),确认 Action 列指向正确的控制器方法 - 访问该接口,用开发者工具看响应头是否有
X-Runtime-Cache: route(说明走了缓存路由) - 临时在
config/route.php里设'route_cache' => false,重启服务后测试是否能立即响应新规则——能,就坐实是缓存问题
开发阶段建议关闭路由缓存
频繁改路由时,开缓存反而拖慢调试效率。
- 在
config/route.php中设置:'route_cache' => app()->isDebug(),即调试模式下自动关闭 - 或统一在
config/app.php加一行:'route_check_cache' => false,禁用单次请求级匹配缓存 - 上线前再切回
true,并补上php think route:cache生成静态缓存文件
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










