thinkphp6模板和路由缓存必须同步清除才能使修改生效;推荐命令为php think clear -t && php think route:clear(tp6.1+)或php think clear --template && php think route:clear(tp6.0),切勿依赖宝塔“清除面板缓存”按钮。

宝塔面板里跑 ThinkPHP6,关缓存不能只点“清除面板缓存”——那玩意儿跟你的 TP6 毫无关系,清了也白清。
ThinkPHP6 模板和路由缓存必须手动清或用命令
TP6 的 runtime/view/ 编译模板和 runtime/route.php 路由缓存是独立生成的,改完模板或路由后页面不更新、404,基本就是它俩没清。宝塔面板的“清除缓存”按钮完全不碰这两个文件。
- TP6.1+ 推荐命令:
php think clear -t && php think route:clear - TP6.0 请用:
php think clear --template && php think route:clear - 执行前务必先确认版本:
php think version,TP5 执行会报Command not found - 别在生产环境请求中调
Route::clear()——会阻塞当前请求,高并发下可能丢路由
宝塔环境下禁用 TP6 缓存的配置写法
开发阶段想彻底绕过缓存,光清不够,得从根上关掉。重点不是全局关所有缓存,而是关掉最影响调试的两个:模板编译和路由缓存。
- 在
config/app.php或config/template.php中加:'cache' => false(针对template配置项) - 在
config/app.php中确保:'app_debug' => true,它会自动关闭模板缓存,但不保证路由缓存被跳过 - 不要动
config/cache.php里的expire设为 0——这关的是数据缓存,对模板/路由无效 - 关 HTML 静态缓存:
'HTML_CACHE_ON' => false,放在config/app.php的顶层配置里
宝塔 SSH 清缓存时最容易误删的关键目录
手动删 runtime/ 下内容最常见错误:顺手把 runtime/config/ 一起 rm -rf 了。这个目录存着数据库连接、中间件等运行时配置缓存,删了直接报 Class not found 或 database host is null。
- 安全删除范围仅限:
runtime/view/全部子目录 +runtime/route.php -
runtime/log/可删,但非必需;runtime/cache/是数据缓存,删了不影响模板/路由生效 - 千万别进
runtime/后直接rm -rf *——没有后悔键 - 如果用了 Redis 做缓存,
Cache::clear()不会清 Redis,得单独连 Redis 执行FLUSHDB
真正麻烦的从来不是“怎么清”,而是清完发现页面还是旧的——这时候八成是 Nginx 代理缓存或 PHP OPcache 在背后拦了一道,它们和 TP6 自己的缓存完全无关,得另外处理。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











