phpmyadmin导航树图标由css类名和font awesome字体控制,需通过config.inc.php中customheader注入自定义css覆盖伪元素content值,匹配正确类名(如.icon-database、.icon-mysql)与fa 5对应unicode码点(如\f1c0),避免版本错配导致方块。
phpmyadmin 导航树图标由 css 类名控制,不是靠文件或配置项直接替换
phpmyadmin 的数据库/表分组图标(比如 mysql、information_schema 这类分类文件夹)不读取任何图标文件,而是通过 css 类名 + font awesome 字体渲染。你无法上传 png/svg 替换,只能覆盖其 css 类的 content 值或切换 font awesome 图标类。
- 默认图标来自 phpMyAdmin 自带的 Font Awesome 5(v5.2.0+),使用伪元素
::before+font-family: "Font Awesome 5 Free" - 图标类名格式为
.navigation .icon-xxx,例如数据库分组用.icon-database,系统库用.icon-mysql - 修改必须通过自定义 CSS 注入,不能改源码里的
navigation.css(升级会被覆盖)
在 config.inc.php 中注入自定义 CSS 最安全
phpMyAdmin 提供 $cfg['NavigationTreeEnableGrouping'] 和 $cfg['NavigationTreeDisplayDbFilter'] 等开关,但不提供图标配置入口。唯一推荐方式是利用 $cfg['Servers'][$i]['extension'] 或更稳妥的 $cfg['CustomHeader'] 注入 CSS —— 它会在 末尾加载,确保覆盖默认样式。
- 编辑
config.inc.php,在/* Server(s) configuration */区块之后添加:
$cfg['CustomHeader'] = '<style type="text/css">
.navigation .icon-database::before { content: "\f1c0" !important; } /* database folder */
.navigation .icon-mysql::before { content: "\f1c0" !important; } /* mysql system db */
.navigation .icon-information::before { content: "\f128" !important; } /* info_schema */
</style>';
\f1c0 是 Font Awesome 5 的 fa-database Unicode;查码表用 FA 5.15 官方图标库,注意选 Free 版本!important 以外的方式覆盖 —— phpMyAdmin 的 CSS 优先级高,普通选择器容易失效区分不同分组类型需匹配对应 CSS 类,不是所有都叫 icon-database
导航树里“分类文件夹”实际分三类:数据库分组(如按前缀分组)、系统库标识、用户自定义分组标签。它们使用的类名不同,硬套 .icon-database 会漏掉一部分。
- 数据库分组(启用
$cfg['NavigationTreeEnableGrouping'] = true;后出现的折叠文件夹):类名是.icon-folder,不是icon-database - 系统库(
mysql、performance_schema):固定类名.icon-mysql、.icon-perfschema - information_schema:类名是
.icon-information,不是.icon-info或.icon-schema - 自定义分组标签(通过
$cfg['NavigationTreeDbSeparator']或正则生成):没有专属图标类,只继承父级.icon-folder
字体版本错位会导致图标变方块或乱码
如果注入的 Unicode 显示为 □ 或 ,大概率是 Font Awesome 版本不匹配。phpMyAdmin v5.2.x ~ v5.4.x 绑定的是 FA 5.15.4,而 v5.5.0+ 切换到了 FA 6 —— 但目前(2024 年中)稳定版仍以 FA 5 为主。
- 确认当前 phpMyAdmin 版本:看登录页底部或
libraries/Config.class.php中VERSION常量 - FA 5 的
fa-database是\f1c0,FA 6 是\e44b(solid 风格),混用必出错 - 临时验证方式:打开浏览器开发者工具 → 元素面板 → 找到导航树节点 → 查看 computed 样式中
font-family是否为"Font Awesome 5 Free"
改图标这事,关键不在“怎么加”,而在“加对哪个类、配对哪个字体码点”。类名写错一个字母,或者复制了 FA 6 的 Unicode 到 FA 5 环境里,就只剩方块了。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











