thinkphp6在docker中可直接在宿主机用docker-compose exec web php think clear清缓存,加-t参数清理模板缓存,加-f或--except=config避免误删配置致404,再执行php think optimize:config恢复配置。

ThinkPHP6在Docker环境里清缓存不需要非得进容器操作,只要宿主机能执行docker命令、项目已构建为镜像并正确挂载了runtime目录,就可以在宿主机直接运行php think clear指令完成清理,避免反复进入容器的繁琐步骤。
用docker exec在宿主机上一键清理
进入宿主机终端,切换到项目根目录(确保docker-compose.yml或容器已启动)。
执行命令清理运行时缓存:docker exec -it php think clear。
若使用docker-compose部署且服务名为web,则直接运行:docker-compose exec web php think clear——这会自动进入web服务容器并执行命令,【无需手动docker attach或bash登录】。
该方式不改变容器运行状态,不中断服务,比docker exec -it xxx /bin/bash再cd再php think clear快得多。
清理模板缓存必须加-t参数
方法一:强制清理模板缓存(推荐)
执行docker-compose exec web php think clear -t。
在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...
方法二:同时清运行时+模板缓存
运行docker-compose exec web php think clear -f -t,其中-f确保只清文件类缓存,避开路由/配置等敏感缓存导致404。
【不加-t参数时,runtime/view/下的编译模板文件完全不会被删除】——这是ThinkPHP 6.x默认行为,与TP5.1不同,不能凭经验跳过。
避免清缓存后页面404的操作路径
第一步:先确认当前缓存类型是否影响路由
运行docker-compose exec web php think route:list,如果能正常输出路由表,说明路由缓存未损坏。
第二步:检查是否误删了配置缓存
执行docker-compose exec web ls -l runtime/config/,若该目录为空,大概率是用了php think clear全量清理导致;此时应改用php think clear -f(仅文件)或php think clear --except=config(TP6专属)。
第三步:恢复配置缓存(如已误删)
在容器内执行php think optimize:config,重新生成优化后的配置缓存文件。
第四步:验证首页是否可访问
curl http://localhost 或打开浏览器访问,确认返回HTTP 200且内容正常。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










