根本原因是$cfg['ServerDefault']未设为0且$cfg['Servers']索引不连续;必须设$cfg['ServerDefault']=0并用从1开始的连续整数索引动态生成$cfg['Servers']数组,每个元素须含host(或socket)和auth_type='cookie',否则登录下拉列表不显示新服务器。
为什么加了新服务器却没出现在登录下拉列表
根本原因是 $cfg['serverdefault'] 没设成 0,或者 $cfg['servers'] 数组索引不连续。phpmyadmin 默认只显示一个服务器入口,必须显式启用多服务器菜单。
-
$cfg['ServerDefault'] = 0;是硬性要求——注意是数字0,不是空字符串、false或注释掉 - 所有服务器必须用从
1开始的连续整数索引:$cfg['Servers'][1]、$cfg['Servers'][2]、$cfg['Servers'][3]……中间不能缺[2],也不能重复写[1] - 如果某项配置语法错误(比如少分号、引号不闭合),phpMyAdmin 解析到那里就停,后续所有服务器都不会加载
手动硬编码多个 $cfg['Servers'][$i] 的坑在哪
直接复制粘贴改索引看似快,但极易出错:索引跳号、重复、漏键、注释干扰 PHP 解析,都会导致白屏或只显示第一个服务器。
- 别在配置块里写
// First server这类注释后紧接代码——PHP 会把换行当字符串拼进数组,引发Parse error - 每个
$cfg['Servers'][$i]必须含'host'(或'socket')和'auth_type',缺一不可;'verbose'虽可选,但建议加上,方便识别 -
auth_type统一用'cookie',不要混用'http'或'config':前者依赖 Web 服务器认证,无法透传 SSL 参数;后者不进下拉列表,只自动连接
用循环生成 $cfg['Servers'] 才真正可靠
官方推荐且最稳的方式:定义一个 $hosts 数组,再用 foreach 或 for 动态填充,彻底避开索引管理失误。
-
$hosts下标也建议从1开始,避免count($hosts)和循环变量错位 - 循环内必须设
$cfg['Servers'][$i]['auth_type'] = 'cookie';,并确保$cfg['Servers'][$i]['host']或$cfg['Servers'][$i]['socket']存在 - 记得加
$cfg['LoginCookieValidity'] = 86400;,否则 cookie 2 小时就过期,频繁掉线
$hosts = [
1 => ['host' => '192.168.1.10', 'port' => '3306', 'verbose' => 'Prod DB'],
2 => ['host' => '10.0.2.5', 'port' => '3307', 'verbose' => 'Staging DB'],
];
foreach ($hosts as $i => $h) {
$cfg['Servers'][$i]['host'] = $h['host'];
$cfg['Servers'][$i]['port'] = $h['port'] ?? '3306';
$cfg['Servers'][$i]['verbose'] = $h['verbose'] ?? '';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
}
远程服务器连不上,光改 config.inc.php 没用
#2002 Cannot log in to the MySQL server 错误几乎全是服务端权限没开,不是 phpMyAdmin 配置问题。
- MySQL 必须执行
GRANT命令,允许 phpMyAdmin 所在机器的 IP 以指定账号登录,例如:GRANT ALL ON *.* TO 'pma_user'@'192.168.1.100' IDENTIFIED BY 'pwd'; FLUSH PRIVILEGES; - 若目标 MySQL 启用了
require_secure_transport=ON,而 phpMyAdmin 连接未配 SSL,也会失败——得在对应$cfg['Servers'][$i]里加'ssl' => true和证书路径 - 穿透环境(如 frp/ngrok)下,
host填穿透后的域名或公网 IP,port填穿透暴露的端口,别填localhost
配置生效后,务必清浏览器缓存或换无痕窗口测试。phpMyAdmin 对配置极其敏感,一行语法错误或一个跳号索引,整个 $cfg['Servers'] 数组就可能失效。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











