Expand description
Whoops-style HTML 调试页面 — 对齐 PHP whoops 异常展示
§PHP 对齐
ThinkPHP 6 默认集成 whoops 库,在开发环境渲染交互式错误页面:
- 顶部红色标题栏(错误类型 + 消息)
- 文件:行号(灰色路径,可点击打开 IDE)
- 堆栈列表(可折叠,每帧显示文件:行号 + 函数名 + 源码片段)
- 请求信息(method / uri / headers / query / body)
- 环境信息(Rust 版本 / 进程 PID / 工作目录)
生产环境关闭调试页,返回简洁 JSON 或静态 HTML,避免泄露堆栈。
§安全约束
- 所有用户输入(错误消息、文件路径、请求头值)必须 HTML 转义,防止 XSS
- 源码片段从文件读取,限制最多 21 行(前后 10 行 + 错误行),避免读取大文件
- 调试页只在
debug_mode = true时渲染,生产环境强制返回简洁页
Structs§
- DbQuery
- 数据库查询记录 — 对齐 PHP Whoops 的 SQL 查询展示
- DbQuery
Collector - 数据库查询收集器 — 线程安全的查询记录存储
- DbQuery
Location - 数据库查询调用位置 — 用于编辑器跳转
- Debug
Error - 调试错误信息
- Debug
Page Config - 调试页配置
- Stack
Frame - 单个堆栈帧
Enums§
- Editor
- 编辑器类型 — 对齐 PHP Whoops 的 editor 配置
Statics§
- GLOBAL_
DB_ QUERY_ COLLECTOR - 全局数据库查询收集器(对齐 PHP
DB::listen()全局监听器)
Functions§
- debug_
error_ response - 根据调试配置构建错误响应
- editor_
url - 生成编辑器跳转 URL
- from_
panic - 从 panic 信息构建调试错误
- render_
db_ queries_ html - 渲染数据库查询列表为 HTML 片段
- render_
debug_ html - 渲染 Whoops-style HTML 调试页
- render_
production_ html - 渲染生产环境简洁错误页(不泄露堆栈)