phpMyAdmin 5.2+ 找不到 Original 主题是因为官方从源码中彻底删除了该主题,而非隐藏或弃用;需手动从 4.9.x 或 5.1.x 版本提取 themes/original/ 目录并严格放置,补全 layout.css 和 info.inc.php,并修复 CSS、禁用冲突 JS、检查权限与缓存。
phpMyAdmin 5.2+ 为什么找不到 Original 主题
因为官方从 phpmyadmin 5.2.0 开始彻底移除了 original 主题——不是隐藏、不是弃用,是源码级删除。你翻遍 themes/ 目录也看不到它,config.inc.php 里设 $cfg['themedefault'] = 'original'; 会直接报错 theme "original" does not exist。
这不是配置问题,是主题文件物理不存在。想“恢复”,只能手动补全。
从旧版 phpMyAdmin 搬出 Original 主题文件
最稳妥的方式是找一个 phpMyAdmin 4.9.x 或 5.1.x 的完整包(推荐 5.1.4),解压后提取整个 themes/original/ 目录,复制到你当前版本的 themes/ 下。
- 路径必须严格为:
phpmyadmin/themes/original/(不能少一级、不能改名) - 重点检查
themes/original/layout.css和themes/original/info.inc.php是否存在——缺任一文件,后台主题管理页会跳过该主题 - 如果用的是 Docker 镜像(如
phpmyadmin/phpmyadmin),需通过 volume 挂载或构建自定义镜像,直接进容器改文件容易重启丢失
启用 Original 主题但页面错位或按钮失效
新版 phpMyAdmin 的 HTML 结构和 JS 行为已大幅调整,Original 主题的 CSS 和模板无法自动适配。常见现象包括:顶部菜单栏塌陷、SQL 输入框高度异常、执行按钮点击无响应。
关键修复点:
立即学习“PHP免费学习笔记(深入)”;
- 在
themes/original/css/common.css末尾追加:body { margin: 0; } .navbar { z-index: 1030; }(解决导航栏遮挡) - 禁用新版默认的 JavaScript 增强:在
config.inc.php加$cfg['EnableQuickEdit'] = false;和$cfg['EnableShowAll'] = false;(避免 JS 绑定冲突) - 若 SQL 执行区空白,检查
themes/original/templates/columns_table.phtml是否引用了已废弃的$GLOBALS['cfg']['ActionLinksMode']——需删掉或注释相关逻辑
为什么改完还是加载不了 Original 主题
最常见的卡点不是文件缺失,而是权限与缓存双重干扰:
-
themes/original/目录及所有子文件必须被 web 服务器用户(如www-data或nginx)可读,ls -l themes/看权限至少是755/644 - 浏览器强刷无效时,清空 phpMyAdmin 服务端缓存:删掉
tmp/目录下所有内容(尤其tmp/cache/),再重启 PHP-FPM 或 Apache - 如果用了 OPcache,临时在
php.ini中设opcache.enable=0排查——旧主题里的 PHP 模板文件可能被错误缓存为“不存在”
Original 主题能跑起来不难,但让它在新版里不崩、不漏样式、不卡交互,得一行行比对 DOM 结构和事件绑定。别指望一键复古,它本质上是一次小型前端兼容性缝合。











