在 thinkphp 3.2 中全局关闭所有缓存的最直接方式是启用调试模式并设置五项缓存开关为 false:app_debug=>true、tmpl_cache_on=>false、action_cache_on=>false、html_cache_on=>false、db_field_cache=>false,再配合禁用数据缓存驱动。

在 ThinkPHP 3.2 中,要全局关闭所有缓存,最直接有效的方式是在项目主配置文件 application/config.php(或早期版本中的 Conf/config.php)中统一设置关键缓存开关为 false,并配合开启调试模式。这样做无需修改框架源码,也不依赖具体缓存驱动类型,开发阶段能确保模板、行为、静态、查询等各类缓存全部失效。
一、核心配置项全关(写入 config.php)
在 return [ ... ] 配置数组中添加或修改以下字段:
-
'APP_DEBUG' => true—— 启用调试模式,框架会自动禁用大部分缓存(包括模板编译、行为、静态等) -
'TMPL_CACHE_ON' => false—— 关闭模板编译缓存,每次访问都重新解析模板文件 -
'ACTION_CACHE_ON' => false—— 关闭 Action 缓存,控制器方法不被缓存结果 -
'HTML_CACHE_ON' => false—— 关闭静态页面缓存(即生成 .html 文件的机制) -
'DB_FIELD_CACHE' => false—— 关闭数据库字段缓存,避免模型字段信息被固化
二、缓存驱动层面同步处理(可选但推荐)
即使不用缓存,TP3.2 默认仍可能初始化 File 缓存驱动。为彻底杜绝后台静默缓存,建议显式配置缓存类型为空或无效值:
- 将
'DATA_CACHE_TYPE'设为''或null(部分版本支持),或直接注释掉该配置项 - 若保留
'DATA_CACHE_TYPE' => 'File',可把'DATA_CACHE_TIME'设为0,表示“不过期”实则等于“不写入”,但不如直接关开关可靠
三、验证是否生效的简单方法
完成配置后,做两件事快速确认:
- 清空
Runtime/目录下所有子文件夹(尤其是Cache/、Html/、Template/),防止旧缓存残留干扰 - 修改一个已有的模板文件(如
Index/index.html),刷新页面——若改动立即显示,说明TMPL_CACHE_ON已生效;再改一个控制器方法的输出内容,也能实时响应,说明 Action 和行为缓存也已关闭
不需要动 convention.php 或 debug.php,那些是框架默认配置文件,在应用层 config.php 中覆盖即可。重点就是那五项布尔开关 + 调试模式开启,逻辑清晰,操作轻量。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











