thinkphp6本地调试需配置app_debug=true和app_env=local以启用自动缓存刷新;推荐用php think cache:clear --type=temp精准清理模板缓存,或在控制器中调用cache::clear('temp')临时触发;一键清空全部缓存用php think clear命令,但会删除runtime下所有子目录内容。

ThinkPHP6本地调试时频繁修改模板、配置或逻辑代码,却总因缓存未及时更新而看到旧内容,反复手动删runtime目录或敲命令浪费大量时间,必须建立一套高效、可复用的缓存清理路径。
启用开发模式自动刷新缓存
在项目根目录的 .env 文件中,确保以下两行已设置且未被注释:
APP_DEBUG=true
APP_ENV=local
这两项是触发ThinkPHP6自动跳过模板/配置编译缓存的前提。若只开 debug 但 APP_ENV 不是 local,部分缓存(如路由缓存)仍会生效。
修改后无需重启服务器,下次请求即生效——模板改动实时渲染,config/*.php 修改后立即加载,不用清 temp 目录。
按需清除特定缓存类型
方法一:终端执行精准清除命令(推荐日常使用)
进入项目根目录,运行:
php think cache:clear --type=temp
这条命令只清 runtime/temp 下的模板编译文件,不影响 runtime/cache 中的数据缓存,避免误删你正在调试的 mock 缓存数据。
方法二:用代码临时触发(适合接口调试场景)
在控制器顶部加入:
use think\facade\Cache;
Cache::clear('temp');
这行代码只对当前请求生效,执行完立刻重建 temp 缓存,适合在某个调试接口末尾加一行快速验证模板变更效果。
一键重置全部运行时缓存(慎用)
第一步:打开终端,cd 进入项目根目录
第二步:执行 php think clear
第三步:确认输出中出现 [SUCCESS] Clear success! 及 runtime 目录下 temp、cache、log、route 子目录均被清空
该命令会删除整个 runtime 目录下的所有缓存与日志文件,等效于手动 rm -rf runtime/*,但更安全——它跳过 .gitignore 保护的文件,且不会误删 vendor 或 public 目录。
【注意】此操作不可逆,若你依赖 runtime/cache 中的调试用 token 或 session 模拟数据,请先备份 runtime/cache/ 目录再执行。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











