phpMyAdmin 5.2+原生支持深色模式,需在config.inc.php中配置$cfg['DarkMode'] = true并确保使用默认pmahomme主题,否则无效。
phpmyadmin 5.2+ 原生支持深色模式,但必须手动配置 $cfg['darkmode'] = true,且仅对默认主题 pmahomme 有效;改错配置项、用错主题或漏重启服务,都会导致“开了没反应”。
确认 phpMyAdmin 版本并启用 DarkMode 配置
低于 5.2.0 的版本不支持该功能,强行加配置无效。登录页底部或运行 phpmyadmin --version 查看实际版本。确认 ≥ 5.2.0 后,在 config.inc.php(通常位于 /etc/phpmyadmin/ 或 phpMyAdmin 根目录)中找到 $cfg 数组赋值块,在其后添加:
$cfg['DarkMode'] = true;
注意:$cfg['ThemeManager'] = true 是控制主题切换器是否显示的开关,和深色模式无关;$cfg['DarkMode'] = 'auto' 在 5.2.x 中不被识别,只接受布尔值 true 或 false。
确保使用兼容深色模式的主题 pmahomme
深色模式依赖主题自身实现 CSS 变量(如 --pma-bg、--pma-color),而只有默认主题 pmahomme 完整支持。常见失效原因:
- 配置了
$cfg['Theme'] = 'original'或其他旧主题 → 删除或注释掉这行,让 phpMyAdmin 回退到默认主题 - 手动设过
$cfg['ThemeDefault']指向非 pmahomme 主题 → 改为$cfg['ThemeDefault'] = 'pmahomme'; - 浏览器检查
元素没有dark-modeclass → 说明配置未加载,或被后续代码覆盖
路径和权限也要核对:themes/pmahomme/theme.json 必须存在,且 themes/ 目录对 web 服务器用户(如 www-data)可读。
立即学习“PHP免费学习笔记(深入)”;
重启 Web 服务并验证渲染效果
配置不是热加载的,必须重启服务才能生效:
- Apache:执行
sudo systemctl restart apache2 - Nginx + PHP-FPM:执行
sudo systemctl restart nginx php-fpm - Docker 环境:需重建容器或挂载更新后的
config.inc.php
刷新页面后,用浏览器开发者工具检查:body 是否有 dark-mode class;:root 是否定义了 --pma-bg 等暗色变量;SQL 编辑器(CodeMirror)、日期选择器等组件是否同步变暗——若只有导航栏变黑而编辑区仍是白底,说明主题 CSS 未完整注入或被缓存干扰。
不要用 CSS 覆盖或 JS 临时注入代替配置
在 themes/pmahomme/css/common.css 里硬加 body { background: #1e1e1e; } 是无效的,因为深色逻辑靠 CSS 变量驱动,不是单纯改背景色;控制台执行 document.body.classList.add('dark-mode') 仅能模拟部分样式,无法触发 phpMyAdmin 内部的深色适配逻辑(比如弹窗、结构页字段高亮、JSON 查看器),且刷新即失效。生产环境必须走 config.inc.php 配置,否则升级后所有样式补丁都会丢失。



















