Pikachu靶场数据库连接失败的根源是install.php未传入config.inc.php中定义的DBPORT参数,导致PHP默认使用3306端口连接,而实际MySQL实例运行在3308端口。

确认 config.inc.php 中的 ThemeDefault 是否被手动覆盖
很多用户以为主题“变乱”是前端缓存或浏览器问题,其实根源常在配置文件里写死了错误值。打开 config.inc.php,搜索 $cfg['ThemeDefault'],检查是否出现以下情况:
-
$cfg['ThemeDefault'] = 'Metro';(大小写错误,必须全小写) -
$cfg['ThemeDefault'] = ' metro ';(引号内含空格) -
$cfg['ThemeDefault'] = 'original';(5.2 中 original 主题已被移除,设了就加载失败,页面空白) - 该行被注释但下方另有同名赋值,造成后写覆盖前写
正确写法只有一行,且必须放在 $i++ 之后、$cfg['Servers'] 配置之前:
$cfg['ThemeDefault'] = 'metro';
删掉 themes/ 下所有非 metro 的主题目录
phpMyAdmin 5.2 启动时会扫描 ./themes/ 下所有子目录,并按字母序取第一个可用主题作为 fallback。如果你曾手动解压过 bootstrap 或 pmahomme 等旧主题,哪怕没启用,只要目录存在,就可能被自动选中——尤其当 $cfg['ThemeDefault'] 配置失效时。
执行以下命令清理:
立即学习“PHP免费学习笔记(深入)”;
rm -rf ./themes/bootstrap ./themes/pmahomme ./themes/original ./themes/darkmode
只保留 ./themes/metro。验证是否存在:
ls -d ./themes/metro
若报错“No such file or directory”,说明你装的是 -english.tar.gz 精简版,必须重下 -all-languages.tar.gz 并重新解压覆盖。
清空浏览器缓存并强制重载 CSS
Metro 主题的样式由 ./themes/metro/css/theme.css 控制。如果之前手动改过这个文件,哪怕恢复了配置,浏览器仍可能缓存旧 CSS 导致界面错位(比如按钮文字重叠、侧边栏消失)。不要只点刷新,必须硬刷:
- Chrome / Edge:按
Ctrl + Shift + R(Windows)或Cmd + Shift + R(macOS) - Firefox:同样组合键,或打开开发者工具 → Network 标签 → 勾选 “Disable cache” 再刷新
- 确认请求的 CSS 路径返回 200,而非 304(表示没真加载新内容)
如果改过 theme.css 又找不到原始备份,可直接从官方包里提取干净版本:
curl -s https://raw.githubusercontent.com/phpmyadmin/phpmyadmin/RELEASE_5_2_1/themes/metro/css/theme.css > ./themes/metro/css/theme.css
登录态不生效?检查 session 和 cookie 设置
即使 $cfg['ThemeDefault'] = 'metro'; 正确,已登录用户也不会立刻切换——主题只在新建会话时读取。常见卡点:
- 没退出当前账号,直接刷新页面(无效)
- 用了
auth_type = 'config',导致登录态固化,无法触发主题重载逻辑 - PHP session 存储路径不可写(如
/var/lib/php/sessions权限不对),新会话无法建立,始终沿用旧 session 中的主题记忆
最稳做法:关闭所有 phpMyAdmin 标签页 → 清除浏览器中所有 localhost 或对应域名下的 cookies → 重新访问登录页。不要跳过 cookie 清理,这是最容易忽略也最常导致“明明改了却没变”的环节。



















