禁用phpMyAdmin右侧面板需在config.inc.php中同时设置$cfg['ShowStats']=false、$cfg'Servers'['DisableIS']=true及各ShowXxx开关(如ShowStatus、ShowVariables等),仅CSS隐藏无效且不安全。
phpMyAdmin 配置文件中禁用服务器统计面板
phpmyadmin 的右侧面板(server status、processes、variables 等)默认显示大量运行时统计信息,但这些内容既不常被使用,又可能暴露服务器细节。关闭它们的关键不是前端隐藏(css 或 js),而是从配置层面彻底禁用对应功能模块。
核心操作是修改 config.inc.php,在 $cfg['Servers'][$i] 配置块中添加或修改以下选项:
-
$cfg['ShowStats'] = false;:隐藏右上角的“服务器统计”概览(Uptime、Questions、Threads 等) -
$cfg['ShowChapLogin'] = false;:禁用“Change password”链接(虽非统计项,但常与右侧面板共存,顺手关闭更干净) -
$cfg['Servers'][$i]['DisableIS'] = true;:强制跳过INFORMATION_SCHEMA查询,能显著减少“Status”、“Variables”、“Processes”等标签页的加载和渲染(因为这些页面严重依赖INFORMATION_SCHEMA和SHOW语句)
禁用特定右侧面板标签页(如 Status / Variables / Processes)
仅设 DisableIS 不足以完全移除标签页——它们仍会显示空内容或报错提示。要真正隐藏这些导航标签,需配合 $cfg['Servers'][$i]['Servers'] 相关布尔开关:
-
$cfg['Servers'][$i]['ShowStatus'] = false;:隐藏“Status”标签页 -
$cfg['Servers'][$i]['ShowVariables'] = false;:隐藏“Variables”标签页 -
$cfg['Servers'][$i]['ShowProcesslist'] = false;:隐藏“Processes”标签页 -
$cfg['Servers'][$i]['ShowCharsets'] = false;:隐藏“Charsets”标签页(非统计类,但属右侧面板冗余项)
注意:这些开关只控制标签页是否渲染,不阻止后端查询;若已设 DisableIS = true,即使标签页存在,点击也会快速失败,用户体验更差。所以必须两者配合。
为什么不能用 CSS 隐藏右侧面板?
有人尝试用浏览器开发者工具找到 #serverstatustab 或 .tab 类并加 display: none,但这只是视觉遮盖:
- 所有后台请求照常发起,浪费带宽和 MySQL 连接资源
- 某些统计页(如 Processes)会持续轮询(
ajax.js定时刷新),导致后台 CPU 和连接数无谓上升 - 无法防止用户禁用 CSS 后重新看到敏感信息(如
SHOW VARIABLES暴露的路径、插件、密码策略) - 升级 phpMyAdmin 后 class 名或结构可能变化,CSS 规则立即失效
修改后需重启 Web 服务吗?
不需要。phpMyAdmin 是纯 PHP 脚本,config.inc.php 在每次请求时动态读取。改完保存后,刷新页面即可生效。但要注意:
- 确认修改的是正在使用的配置文件(常见位置:
/etc/phpmyadmin/config.inc.php或 phpMyAdmin 根目录下的config.inc.php) - 如果使用符号链接部署,检查实际落盘路径
- 权限问题:确保 Web 服务器用户(如
www-data)有读取该文件的权限,否则可能触发空白页或 500 错误 - 语法错误会导致整个 phpMyAdmin 无法加载,建议先备份原文件,再用
php -l config.inc.php校验语法
最易被忽略的是 DisableIS 和各 ShowXxx 开关的组合逻辑——单独关一个没用,必须同时关闭数据源和 UI 元素,否则要么留白页,要么暴露错误堆栈。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











