
源码系统概览
文章正文
Xhprof Webman 是一套兼容 webman、Laravel、ThinkPHP 与 Hyperf 的代码性能分析插件源码,基于 xhprof 扩展采集函数级性能数据存入 Redis,浏览器打开报告页即可排查瓶颈。
项目作者为艾瑞可 erik,仓库获 6 个 star 关注,基于开源 XHProf 项目增强适配,要求 PHP 8.0 以上加 xhprof 与 redis 扩展,README 最后更新 2026 年,四框架逐步接入说明齐备。
源码简介
请求侧以全局中间件自动埋点采集,支持按响应时长过滤只记录慢请求,最大记录条数可配置。
浏览器访问报告页查看性能数据,超过阈值的记录自动标红,可选开启函数调用图定位热点。
数据存入项目现有 Redis 并支持过期天数与多项目前缀隔离,不新增存储设施。
报告页支持访问令牌保护,四框架分别提供中间件注册与路由配置的逐步说明。
和 XHGui 等分析平台对比,区别在于 Xhprof Webman 零额外服务依赖,装上中间件就能在浏览器看报告。
| 对比维度 | Xhprof Webman | XHGui |
|---|---|---|
| 部署依赖 | 复用项目 Redis 无新服务 | 需 MongoDB 等存储 |
| 接入方式 | 中间件一行注册 | 需改造入口 |
| 慢请求过滤 | 时长阈值自动筛 | 全量记录 |
| 框架覆盖 | 常驻内存四框架 | 传统 FPM 为主 |
常驻内存框架的接口变慢不知道慢在哪,装上这个插件打开报告页就能看到函数级耗时分布。
适用场景
- webman 项目排查接口响应慢的函数热点。
- 压测前后对比优化效果。
- 生产环境低频采样监控慢请求。
- 学习 PHP 性能分析原理与调用图解读。
技术栈与运行环境
插件要求 PHP 8.0 以上并安装 xhprof 与 redis 扩展,php.ini 需配置扩展与输出目录。
适配 webman、Laravel、ThinkPHP 与 Hyperf 四框架,Laravel 支持配置发布自动发现。
安装执行 composer require 后注册中间件与报告页路由,数据全部复用项目 Redis。
功能亮点
- 函数级性能采集存 Redis 零新增服务。
- 响应时长阈值过滤只记录慢请求。
- 浏览器报告页超阈值记录自动标红。
- 可选调用图定位函数热点路径。
- 访问令牌加多项目前缀隔离加过期清理。
技术架构与部署指南
安装与部署提示
先在 php.ini 配置 xhprof 扩展段与输出目录,再执行 composer require 完成插件安装。
按框架注册全局中间件并配置报告页路由,设置访问令牌与 Redis 前缀即可开始采集。
包内代码对应 v2026.9.0 口径版本,更新日志以仓库提交记录为准,最后更新 2026 年 8 月。
截图与演示说明

项目 README 以四框架接入说明与打赏码为主,未附报告页截图,本页配图采用 GitHub 仓库社交分享卡片。
部署后浏览器打开报告页即可查看函数耗时列表与调用图实际效果。
配置完成后浏览器打开报告页即可查看函数耗时列表与调用图实际渲染效果。
常见问题
问. Xhprof Webman 是什么插件?
兼容四框架的 XHProf 性能分析插件源码,函数级采集存 Redis,浏览器报告页查看瓶颈,支持慢请求过滤与调用图。
问. 怎么安装?
PHP 8.0 以上装 xhprof 与 redis 扩展后 composer require 安装,注册中间件与路由即可开始采集。
问. 和 XHGui 有什么区别?
XHGui 需额外部署 MongoDB 等存储,本插件复用项目 Redis 零新增服务,更适合常驻内存框架轻量接入。
问. 生产环境能用吗?
可以,建议开启访问令牌并调高时长阈值只记录慢请求,控制采样比例与 Redis 容量。
安全风险提示
对 87 个源码文件做了扫描,代码明文无加密混淆,未发现 webshell 与凭据硬编码。
报告页默认无鉴权,公网部署务必设置访问令牌避免性能数据泄露,项目许可区别于 MIT 协议项目的明示开放需自行确认。
自带的前端静态资源为分析页展示所用,建议生产环境限制报告页仅内网访问。
下载说明
本页提供 Xhprof Webman 性能分析插件完整源码打包下载,含四框架适配代码。
压缩包内附扩展安装说明与框架接入文档,解压后按步骤配置即可使用。
GitHub项目开源地址 https://github.com/erikwang2013/xhprof-webman