phpmyadmin 5.2 监控图表由 $cfg['showstats']、$cfg['enablequeryanalyzer'] 和 $cfg['servers'][$i]['pmadb'] 三者共同控制;禁用需设 showstats=false、关闭查询分析器并移除 pmadb 配置,否则可能残留空白区域或 js 报错。

phpMyAdmin 5.2 的监控图表由哪些配置控制?
监控图表(底部的 CPU/内存/查询数实时曲线)是 phpMyAdmin 自带的「Server monitor」功能,依赖两个条件:一是 $cfg['Servers'][$i]['pmadb'] 指向了含监控表的数据库(如 phpmyadmin),二是 $cfg['ShowStats'] 和 $cfg['ShowChgPassword'] 等开关未显式关闭。它不是独立插件,而是和性能分析、用户偏好绑定的 UI 组件。
关键点在于:即使你没手动创建 phpmyadmin 数据库,只要配置中指定了该库名且服务端 MySQL 启用了 performance_schema,phpMyAdmin 就可能尝试拉取指标并渲染图表——哪怕最终数据为空,DOM 元素仍存在。
禁用图表最直接有效的三步操作
- 打开 phpMyAdmin 安装目录下的
config.inc.php 文件
- 在任意
$cfg['Servers'][$i] 配置块之后,添加以下两行(不要放在 if 块或注释里):$cfg['ShowStats'] = false;<br>$cfg['EnableQueryAnalyzer'] = false;
- 删除或注释掉所有以
$cfg['Servers'][$i]['pmadb'] = 开头的行(包括引号内的库名)
- 保存后清空浏览器缓存,重新加载 phpMyAdmin 页面
config.inc.php 文件 $cfg['Servers'][$i] 配置块之后,添加以下两行(不要放在 if 块或注释里):$cfg['ShowStats'] = false;<br>$cfg['EnableQueryAnalyzer'] = false;
$cfg['Servers'][$i]['pmadb'] = 开头的行(包括引号内的库名) 注意:$cfg['ShowStats'] = false 是核心开关,它不仅隐藏底部图表,还停用右上角的「服务器状态」面板;而删掉 pmadb 配置能彻底切断与监控表的关联,避免因权限不足或表缺失导致的 JS 报错干扰页面加载。
为什么改了配置还是显示空白图表区域?
常见原因是 CSS 或 JS 缓存残留,或主题模板硬编码了占位结构:
- 检查浏览器开发者工具的 Network 标签页,确认
server_status.js和server_status.css是否仍被加载(如果已禁用,它们不应出现在请求列表中) - 若仍看到灰色空图表框,可能是你使用的主题(如
pmahomme)在 HTML 模板里静态写了<div id="serverstatus"> 容器——此时需手动编辑对应主题的 <code>templates/server/status/index.twig,删掉整个serverstatusdiv 块 - 不推荐用 CSS
display: none隐藏,因为部分版本会触发 JS 重绘逻辑,反而引发控制台报错Cannot read property 'appendChild' of null -
$cfg['ShowStats'] = false会同时隐藏「PHP 信息」「MySQL 运行时变量」等诊断面板,这些都属于同一统计模块 - 如果你后续需要临时查看慢查询或连接数,得临时改回
true并确保pmadb已正确初始化(参考官方 setup script) - 某些定制化部署(如通达 OA 集成环境)可能把监控图表作为运维入口,禁用前建议确认是否有其他系统依赖该 DOM 节点做自动化检测
真正“彻底”禁用,靠的是配置层切断数据源 + 模板层移除容器,而不是视觉遮盖。
禁用后要注意的副作用
配置生效不难,难的是判断哪些组件是强耦合的——ShowStats 看似只关图表,实则是一整套服务器健康视图的总闸门。











