清空thinkphp 6.1缓存应精准清理:安全删cache/log/session/trace;改模板或路由后必清view和route.php;严禁删除config/及自定义配置文件。

清空 ThinkPHP 6.1 的缓存,关键不是“全删”,而是“精准清理”——只动 runtime 中的缓存类目录,不动 config、route.php(除非明确要刷新路由)、数据库连接配置或自定义文件。误删 runtime/config/ 或 runtime/route.php 以外的关键文件,可能直接导致 Class not found、数据库 host 为空、中间件加载失败等严重问题。
哪些缓存必须清,哪些不能碰
ThinkPHP 6.1 默认缓存分散在多个子目录,但作用和风险差异很大:
-
可安全清除(推荐优先操作):
runtime/cache/(数据缓存)、runtime/log/(日志)、runtime/session/(会话)、runtime/trace/(调试追踪) -
需同步清理(改模板/路由后必做):
runtime/view/(模板编译缓存)、runtime/route.php(路由缓存)——这两个默认不被php think clear清除,是开发中“改了却没生效”的主因 -
绝对禁止删除:
runtime/config/(数据库、中间件、扩展等核心配置缓存)、runtime/根目录下的.gitignore或你手动加的custom.php等自定义文件
命令行一键安全清理(开发/部署用)
进入项目根目录后,执行以下组合命令,兼顾效率与安全性:
- 清模板 + 路由缓存(TP6.1+):
php think clear -t && php think route:clear - 清全部 runtime 缓存(含 view 和 route):
php think clear --all—— 这是最省心的选择,比手动删更可控 - 只清 Redis 缓存(如已启用):
php think cache:clear --type=redis,不影响文件系统缓存
代码中触发清理(仅限调试或部署脚本)
避免在用户请求中调用全量清理,防止并发写入冲突。正确做法是限定范围、指定驱动:
- 清模板编译缓存(不删整个 view 目录):
think\helper\Dir::delete(app()->getRuntimePath() . 'view'); - 清路由缓存并重建:
think\facade\Route::clear();(自动重写 route.php) - 清文件型数据缓存:
think\facade\Cache::store('file')->clear();(只清 cache/ 下内容) - 切勿使用
Dir::delete(app()->getRuntimePath())—— 这会连 config/ 一起删掉
无命令行权限时的手动清理要点
适用于虚拟主机、部分云环境等无法执行 php think 命令的场景:
- 删
runtime/view/:保留该目录本身,只删其下所有子文件夹和*.php文件 - 删
runtime/route.php:就删这一个文件,不要删runtime/route/(TP6 不生成该目录) - 清
runtime/cache/:可全删,但建议先压缩备份再删,以防临时缓存键值依赖未察觉 - 检查
runtime/是否有非标准目录(如你加的backup/或upload_tmp/),清理前先确认用途
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











