thinkphp6项目修改模板或路由后不生效,需同步清除runtime/view/模板缓存和runtime/route.php路由缓存;推荐命令php think clear -t && php think route:clear(tp6.1+),tp6.0用--template;手动删除时勿误删config等关键目录。

ThinkPHP6项目修改模板文件后页面不更新,或新增路由访问返回404,大概率是模板编译缓存(runtime/view/)和路由缓存(runtime/route.php)没同步清理——这两个目录互不干扰,但必须同时清除才能让改动立即生效。
用命令行一键清空模板+路由缓存
进入项目根目录,执行以下命令:
php think clear -t && php think route:clear
这一步操作起来很简单,直接在终端里粘贴回车就行。注意:-t参数只对TP6.1+有效,TP6.0需改用--template;route:clear命令在TP6中默认存在,但TP5没有该指令,不可混用。
【务必确认当前是TP6环境】,执行think version查看版本号,避免误用TP5命令导致报错“Command not found”。
手动删除对应文件(适用于无命令行权限场景)
方法一:删模板编译缓存
打开runtime/view/目录,删除该目录下所有子文件夹和.php文件;保留空的view/目录结构,不要删掉view文件夹本身。
方法二:删路由缓存
定位到runtime/route.php文件,直接删除它。该文件是单个PHP文件,不是目录,删错会导致首次访问变慢,但不会引发500错误。
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
注意:不要顺手删了runtime/config/目录——里面存着数据库连接、中间件等关键配置缓存,删了会直接报Class not found或数据库host为null。
代码中动态触发清理(开发调试专用)
第一步:在控制器或命令行类中引入必要门面
use think\facade\Cache;
use think\facade\Route;
第二步:清除模板缓存
Cache::store('file')->delete('template_cache'); // TP6.1+支持该键名写法
第三步:刷新路由缓存
Route::clear(); // 此调用会重建runtime/route.php,无需手动touch或require
这一步不能在生产环境请求中执行——Route::clear()会阻塞当前请求并重载全部路由定义,高并发下可能引发短暂路由丢失;仅限本地调试或部署脚本中使用。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










