You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP 5.6搭配最新phpMyAdmin无法登录MySQL服务器求助

解决PHP 5.6 + 新版phpMyAdmin的MySQL登录字符集问题

嘿,这个问题我之前帮朋友排查过,根源就是PHP 5.6和新版phpMyAdmin的字符集兼容冲突——毕竟PHP 5.6的mysqli扩展对MySQL 8.0+推出的新字符集支持有限,而新版phpMyAdmin默认会适配这些新字符集,直接导致了登录失败。

先拆解下你碰到的报错:mysqli_real_connect(): Server sent charset (255) unknown to the client,这里的255对应的是utf8mb4_0900_ai_ci这类MySQL新字符集,PHP 5.6压根识别不了,所以才会连不上服务器,哪怕开了无密码登录也没用。

下面是几个亲测有效的解决办法,按优先级来:

方法1:修改MySQL全局字符集配置(最彻底)

找到你的MySQL配置文件(通常是my.cnf或my.ini,集成环境比如XAMPP/WAMP的话,一般在mysql\bin目录下),在[mysqld]段落里添加或修改以下内容:

[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci

保存后重启MySQL服务,这样MySQL就会用PHP 5.6能识别的utf8字符集,而非新的utf8mb4变种。

方法2:在phpMyAdmin配置里指定兼容字符集

如果不想改动MySQL全局配置,可以修改phpMyAdmin的config.inc.php文件,找到服务器配置的段落,添加字符集指定:

$cfg['Servers'][$i]['charset'] = 'utf8';
$cfg['Servers'][$i]['collation'] = 'utf8_general_ci';

同时确保你的无密码登录配置是正确的(别漏了这行):

$cfg['Servers'][$i]['AllowNoPassword'] = true;

保存后刷新phpMyAdmin页面重试即可。

方法3:降级phpMyAdmin到兼容PHP 5.6的版本

新版phpMyAdmin(比如5.x及以上)已经彻底放弃对PHP 5.6的支持了,如果你不想折腾配置,可以直接下载phpMyAdmin 4.9.x系列的版本——这是最后支持PHP 5.6的分支,替换现有phpMyAdmin文件后,登录问题应该直接消失。

额外小提醒

  • 重启MySQL后,最好登录MySQL命令行执行SHOW VARIABLES LIKE 'character_set_server';,确认输出值是utf8,确保配置生效。
  • 集成环境的配置文件位置可能藏得比较深,比如WAMP的my.ini可能在wamp64\bin\mysql\mysqlX.X.X目录下,别找错了。

内容的提问来源于stack exchange,提问作者progy85

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:17:01