如何配置ThinkPHP开发环境,在调试模式下禁用缓存?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1029个文字,预计阅读时间需要5分钟。
开发时模板改了页面不更新?路径加了新规则却404?不是你代码写错了,是缓存没关——ThinkPHP的缓存分了好几层,关错一层就白忙活了。
为什么 APP_DEBUG = true 还不生效?检查配置优先级
很多人在 .env 里写了 APP_DEBUG=true,但页面还是不报错、不显示 SQL 日志。根本原因是:动态代码或配置文件里的设置会覆盖它。
-
config/app.php中的'app_debug' => false会直接压掉.env的值 -
App::debug(true)这类运行时调用优先级最高,哪怕.env是 false 也会强制开启 - 验证当前真实状态:执行
php think env:show或在控制器里打印config('app.app_debug') - 推荐做法:只在
.env设APP_DEBUG=true,删掉config/app.php里所有关于app_debug的硬编码
template.cache_expire 设为 0 才真禁用模板缓存
模板文件明明保存了,runtime/view/ 下的缓存 PHP 文件却没重生成?问题大概率出在 template.cache_expire 默认是 60(秒),不是“关闭”。
本文共计1029个文字,预计阅读时间需要5分钟。
开发时模板改了页面不更新?路径加了新规则却404?不是你代码写错了,是缓存没关——ThinkPHP的缓存分了好几层,关错一层就白忙活了。
为什么 APP_DEBUG = true 还不生效?检查配置优先级
很多人在 .env 里写了 APP_DEBUG=true,但页面还是不报错、不显示 SQL 日志。根本原因是:动态代码或配置文件里的设置会覆盖它。
-
config/app.php中的'app_debug' => false会直接压掉.env的值 -
App::debug(true)这类运行时调用优先级最高,哪怕.env是 false 也会强制开启 - 验证当前真实状态:执行
php think env:show或在控制器里打印config('app.app_debug') - 推荐做法:只在
.env设APP_DEBUG=true,删掉config/app.php里所有关于app_debug的硬编码
template.cache_expire 设为 0 才真禁用模板缓存
模板文件明明保存了,runtime/view/ 下的缓存 PHP 文件却没重生成?问题大概率出在 template.cache_expire 默认是 60(秒),不是“关闭”。

