php think route:clear 没清干净,主因是 runtime/cache/route.php 未删除、app_debug=true 跳过缓存、路由定义位置错误(应写在 app/route/app.php 而非 config/route.php)、多应用路径遗漏或 url() 未命名路由。

php think route:clear 没清干净?先确认缓存文件真被删了
执行 php think route:clear 后路由还是旧的,大概率是 runtime/cache/route.php 文件根本没删掉,或者删了但框架又从别的地方加载了缓存。别急着重写路由,先验证事实:
- 手动检查文件是否存在:
ls -l runtime/cache/route.php—— 如果还在,说明命令没生效(常见于权限不足或命令输错) - 注意 TP8 默认缓存路径是
runtime/cache/route.php,不是runtime/route.php(后者是 TP6 早期或误传路径) - 多应用项目(如
app/admin/)要分别检查子应用下的app/admin/runtime/cache/route.php
APP_DEBUG=true 时 route:clear 形同虚设
只要 APP_DEBUG 是 true,ThinkPHP 就完全跳过所有路由缓存逻辑,每次请求都重新解析 route/app.php。这时候你删不删 route.php 都没用——问题不在缓存,而在你改的路由文件压根没被加载,或加载后没注册成功。
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
- 运行
php think route:list,如果输出为空或报Class 'think\facade\Route' not found,说明route/app.php里缺use think\facade\Route;或语法错误 - 检查
config/app.php中'app_debug' => true是否为布尔值,不是字符串"true"或数字1 - 开发时开着
APP_DEBUG=true,就别指望靠清缓存来“刷新”路由;得盯住route/app.php本身是否语法正确、是否被正确 import
你清的是缓存,但路由定义写错了位置
ThinkPHP 6+ 路由规则必须写在 app/route/app.php(单应用)或 app/{name}/route/app.php(多应用),config/route.php 只管开关和后缀等行为配置,不承载具体路由映射。
- 如果你把
Route::get('/', 'Index/index')写进了config/route.php,它不会注册任何路由,route:list必然看不到 - 多应用下,
app/admin/route/app.php的路由只对/admin/xxx生效,主应用的app/route/app.php不会自动继承 - 确认该文件顶部有
use think\facade\Route;,且没有return提前中断执行
清完缓存但 url() 还生成旧链接?那是路由 name 没设或缓存残留
修改了 Route::get('user', 'User/index'),但 url('user') 还返回老地址,通常不是缓存没清,而是路由没命名,导致 url() 回退到控制器/方法硬拼模式。
-
url('user')要生效,必须显式命名:Route::get('user', 'User/index')->name('user'); - 资源路由也一样:
Route::resource('user', 'User')->name('user'); - 改完命名后仍无效?再跑一次
php think route:clear——url()函数内部也依赖路由缓存里的命名索引 - 别忽略大小写:Linux 下
url('User/index')和url('user/index')是两个不同键,匹配不到就回退成原始路径
route:clear 还不对,往往不是命令没用,而是你盯着“缓存”看,却漏掉了路由定义位置、命名机制、或 APP_DEBUG 状态带来的加载逻辑切换。最稳妥的验证链是:route/app.php 语法 OK → APP_DEBUG 状态明确 → route:list 能看到新路由 → url() 调用带 name → 最后再清一次缓存。php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










