404问题大概率是路由缓存未清理干净:需确认app_debug=false(以config/app.php为准)、删除runtime/route.php、同步清理runtime/view/,再执行php think route:cache --annotation重建缓存。

路由规则写了但访问 404,大概率是 runtime 缓存没清干净,尤其在 TP6.0.14 这类稳定版中,缓存机制较严格,必须精准清理对应位置。
先确认 APP_DEBUG 是否真正关闭
TP6.0 路由缓存只在 app_debug => false 时生效。哪怕你执行了 route:cache,只要调试模式开着,框架就会跳过缓存、重新解析路由文件——改了 route/app.php 也白搭。
- 检查 config/app.php 中
'app_debug' => false是否已设为 false(.env 里的 APP_DEBUG=false 不一定生效,以该文件为准) - 临时加一行代码验证:
dump(\think\App::debug());,输出 true 就说明还没关 - CI/CD 部署后常因漏改此项导致上线即 404
清空路由缓存文件 runtime/route.php
TP6.0.14 的路由缓存是单个 PHP 文件,不是目录,路径固定为 runtime/route.php。
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
- 直接删除该文件即可,首次请求会自动重建,不会报错
- 别误删 runtime/config/ —— 里面存数据库连接、中间件等关键配置,删了会出
Class not found或host is null - Linux/macOS 执行:
rm -f runtime/route.php
Windows CMD 执行:del runtime\route.php
同步清理模板缓存(避免页面不更新干扰判断)
改了模板后页面没变,或新增路由后模板渲染异常,常因 runtime/view/ 下的编译缓存未清。
- 删除整个 runtime/view/ 目录下的内容(保留空的 view 文件夹)
- 命令行操作:
rm -rf runtime/view/*(Linux/macOS)或rd /s /q runtime\view && mkdir runtime\view(Windows) - 不清理它,有时会掩盖真实问题:比如路由已生效,但模板还是旧的,误判为路由失败
重新生成路由缓存(可选,推荐用于正式环境)
清完旧缓存后,用命令显式重建,确保注解路由、动态路由都被纳入:
- 先清旧缓存:
rm -rf runtime/route/(注意是目录,不是 route.php) - 再执行:
php think route:cache --annotation(带注解必须加--annotation参数) - 动态路由必须写在 app/route.php 顶层,或通过
Route::import()引入,不能藏在控制器或闭包里
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










