修改模板或路由后页面不更新、访问404,需同步清理runtime/view/和runtime/route.php;严禁删除runtime/config/等关键配置缓存,否则导致Class not found或host为空。

修改模板或路由后页面不更新、访问 404,大概率是 runtime/view/ 和 runtime/route.php 没清干净——但 runtime/config/ 绝对不能动,它存着数据库连接、中间件等关键配置缓存,删了会直接报 Class not found 或 host 为空。
只清模板和路由缓存(推荐开发阶段用)
这两个必须同步清理,否则改动不生效:
- TP6.1+ 执行:php think clear -t && php think route:clear
- TP6.0 请改用:php think clear --template && php think route:clear
- 执行前先确认版本:php think version,避免误用 TP5 命令报错
手动删文件(无命令行权限时)
务必按路径精准操作,别手滑进错目录:
- 模板缓存:删 runtime/view/ 下所有子文件夹和 .php 文件,保留空的 view/ 目录结构
- 路由缓存:直接删 runtime/route.php(就这一个文件,不是目录)
- 严禁操作:runtime/config/、runtime/app.php、runtime/constant.php —— 这些删了会导致启动失败
代码中动态清理(仅限本地调试或部署脚本)
生产环境禁止在用户请求里调用,高并发下可能短暂丢路由:
立即学习“PHP免费学习笔记(深入)”;
- 清除模板缓存:Cache::store('file')->delete('template_cache');
- 刷新路由定义:Route::clear();(自动重建 route.php,无需手动 touch)
- 安全写法示例(避免硬编码路径):Dir::delete(Env::get('runtime_path') . 'view');
避免误清的几个关键点
- php think clear 默认只清 cache/、log/、session/、trace/,不碰 view/ 和 route.php,别以为执行了就万事大吉
- 想全清 runtime?可用 php think clear --all,但会连 log 一起删,线上慎用
- Linux 权限问题常见:web 进程(如 www-data)创建的文件,你用 root 删会 Permission denied;建议统一用户执行:sudo -u www-data php think clear -t



















