应精准清除模板缓存(runtime/view/)和路由缓存(runtime/route.php);删错或漏删会导致代码修改不生效,禁用模板缓存需设config/template.php中'cache'=>false。

ThinkPHP 6.1 的缓存分好几类,手动删得对路才管用。最关键的不是“全删 runtime”,而是按需精准清除——尤其模板和路由这两块,删错或漏删都会导致改了代码不生效。
删模板编译缓存(runtime/view/)
模板改动后页面没变,基本就是这里卡住了。TP6.1 把编译后的 PHP 文件存在 runtime/view/ 下,按模板路径哈希生成多级子目录,人工找文件几乎不可能。
- 直接删除整个 runtime/view/ 目录(保留空的 view 文件夹)
- 别只删
*.php或某一层子目录——通配符匹配不到深层哈希路径,容易漏 - Linux/macOS 可执行:
rm -rf runtime/view/;Windows CMD 用:rd /s /q runtime\view - 删完首次访问会稍慢(重新编译),但不会报错
删路由缓存(runtime/route.php)
新增或修改路由后访问 404,大概率是 runtime/route.php 没更新。它是个单独的 PHP 文件,不是目录。
- 找到项目根目录下的 runtime/route.php,直接删除即可
- 不要误删 runtime/config/ ——里面存着数据库、中间件等关键配置,删了会导致 Class not found 或连接失败
- 删掉后第一次请求会自动重建,不影响后续运行
其他缓存子目录可选清理
如果还遇到数据缓存、日志或 session 异常,可顺手清理这些标准子目录(它们默认被 php think clear 覆盖):
-
runtime/cache/:应用层数据缓存(如
Cache::set()写入的) - runtime/log/:日志文件
- runtime/session/:文件型 session 数据(若启用)
- runtime/trace/:调试追踪信息(仅 APP_DEBUG=true 时生成)
开发阶段建议关掉模板缓存
手动删太频繁?不如一劳永逸让模板实时生效:
- 打开 config/template.php,设
'cache' => false,彻底禁用模板缓存 - 或保留缓存但强制检查源文件:设
'cache_time' => 0,TP6 会对比模板文件修改时间,有变动就重编译 - 注意:线上环境请勿关闭,会影响性能
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











