不能。phpmyadmin未提供配置开关隐藏顶部服务器信息栏,该栏由header.inc.php硬编码输出,需手动注释pma_getserverinfo()调用或删除对应html块,css/js隐藏存在兼容性与闪动问题,且升级后需重新修改。
phpmyadmin 顶部服务器信息面板能直接隐藏吗
不能。phpmyadmin 没提供开关式配置一键隐藏顶部服务器栏(含 $cfg['server']['host']、mysql 版本、php 版本、操作系统等)。它属于硬编码渲染的 navigation.php 和 header.inc.php 组合输出,必须改模板或拦截输出。
修改 header.inc.php 是最稳妥的隐藏方式
顶部信息由 phpmyadmin/templates/header/header.inc.php(v5.2+)或旧版 phpmyadmin/libraries/display_setup.lib.php 中的 PMA_getServerInfo() 渲染。直接删或注释对应 HTML 块即可,比 JS 隐藏更彻底、无闪动、不依赖客户端执行。
- 路径示例:
/usr/share/phpmyadmin/templates/header/header.inc.php(Debian/Ubuntu)或C:\xampp\phpMyAdmin\templates\header\header.inc.php(Windows XAMPP) - 找到包含
<div class="server-info"> 或 <code>echo PMA_getServerInfo()的代码段 - 用 PHP 注释包裹整块,例如:
<?php /* echo PMA_getServerInfo(); */ ?>
- 改完清空浏览器缓存,再刷新——不是所有环境都支持 OPcache 自动更新模板
- 推荐加到
config.inc.php的$cfg['Servers'][$i]['auth_type']后面,用$cfg['HeaderLogoLink'] = '';无效,它只管 logo 链接 - 真正生效的是注入 CSS:在
config.inc.php加$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; // 确保已启用 pmadb $cfg['CustomJS'] = 'document.addEventListener("DOMContentLoaded", () => { document.querySelector(".topmenu-server-info")?.remove(); });'; - 注意:JS 方案在慢网下可能出现“先闪现再消失”,且无法隐藏顶部右侧的
MySQL xxxx小标签(它在独立 DOM 节点里) - 当前连接的是哪个服务器别名(
$cfg['Servers'][$i]['verbose']),多人共用一套 phpMyAdmin 时容易连错实例 - MySQL 版本号缺失,遇到语法报错(如
ERROR 1064)时需额外查SELECT VERSION();确认是否支持某特性 - 如果你用 Ansible 或 CI 自动部署 phpMyAdmin,记得把修改后的
header.inc.php加入文件校验白名单,否则下次更新会被覆盖
用 CSS 隐藏会留白且有兼容风险
如果不想动源码,可用自定义 CSS 覆盖,但要注意:phpMyAdmin 的 CSS 类名在版本间变动频繁(如 v4.x 用 .server-info,v5.2+ 改为 .topmenu-server-info),且部分版本启用了 CSP 策略,<style></style> 标签可能被拦截。
隐藏后会影响某些功能判断吗
不影响任何核心功能(SQL 执行、导入导出、用户管理),但会丢失两个实用信息:
改模板是最干净的做法,但每次升级 phpMyAdmin 都得重做一次——这才是真正在意的点。











