如何配置ThinkPHP开发环境,在调试模式下禁用缓存?

2026-04-29 03:261阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1029个文字,预计阅读时间需要5分钟。

如何配置ThinkPHP开发环境,在调试模式下禁用缓存?

开发时模板改了页面不更新?路径加了新规则却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')
  • 推荐做法:只在 .envAPP_DEBUG=true,删掉 config/app.php 里所有关于 app_debug 的硬编码

template.cache_expire 设为 0 才真禁用模板缓存

模板文件明明保存了,runtime/view/ 下的缓存 PHP 文件却没重生成?问题大概率出在 template.cache_expire 默认是 60(秒),不是“关闭”。

阅读全文

本文共计1029个文字,预计阅读时间需要5分钟。

如何配置ThinkPHP开发环境,在调试模式下禁用缓存?

开发时模板改了页面不更新?路径加了新规则却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')
  • 推荐做法:只在 .envAPP_DEBUG=true,删掉 config/app.php 里所有关于 app_debug 的硬编码

template.cache_expire 设为 0 才真禁用模板缓存

模板文件明明保存了,runtime/view/ 下的缓存 PHP 文件却没重生成?问题大概率出在 template.cache_expire 默认是 60(秒),不是“关闭”。

阅读全文