<p>phpMyAdmin 4.4 在 PHP 8.0+ 下因彻底移除 mysql_* 函数而报 Fatal error,且不兼容 MySQL 8.0 的 caching_sha2_password 认证、JSON/生成列等新特性,导致登录失败、功能崩溃与语法解析错误,必须升级至 5.2+ 版本。</p>
phpMyAdmin 4.4 调用 mysql_connect() 直接报 Fatal error
php 8.0+ 已彻底移除 mysql_connect() 函数,而 phpmyadmin 4.4 全量依赖已废弃的 mysql_* 扩展。这不是警告(e_deprecated),而是运行时致命错误:fatal error: uncaught error: call to undefined function mysql_connect()。哪怕你把 error_reporting 设为 0,页面也会直接白屏或卡在登录页——函数根本不存在,没机会“报错”。
界面里点“结构”“关系”“用户”就崩溃,因为 controluser 权限校验失败
phpMyAdmin 4.4 的高级功能(如可视化关系图、权限管理)强依赖一个叫 controluser 的特权账户,它需对 phpmyadmin 数据库有完整 CRUD 权限。但 MySQL 8.0 默认用 caching_sha2_password 认证插件,而 4.4 的 mysqli 层根本不识别该插件,导致连接 controluser 时直接触发 #2054 - The server requested authentication method unknown to the client。你看到的“无法加载数据库列表”,实际是 controluser 连都连不上。
编辑 JSON 字段、生成列、隐藏索引时语法解析直接报错
MySQL 8.0 新增的字段类型和语法(如 JSON 字面量、GENERATED ALWAYS AS、INVISIBLE 关键字)会被 phpMyAdmin 4.4 的 SQL 解析器当成非法 token。例如导出再导入含 JSON_OBJECT() 的 INSERT 语句,会提示 #1064 - You have an error in your SQL syntax;点开带隐藏索引的表结构页,可能直接 500。它连语法高亮都渲染不出来,更别说安全编辑。
字符集下拉菜单里看不到 utf8mb4_0900_ai_ci,改表时自动 fallback 到乱码
phpMyAdmin 4.4 的前端下拉选项硬编码了旧版排序规则列表,压根不包含 MySQL 8.0 新增的 utf8mb4_0900_ai_ci 或 utf8mb4_0900_as_cs。当你手动在 SQL 页面执行 ALTER TABLE t1 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci,后端 PHP 可能因驱动不兼容返回空结果;而用界面“操作→排序规则”切换,它只会默默选 utf8mb4_general_ci(已弃用)并导致后续中文检索异常。
真正卡住的不是“能不能点开”,而是底层驱动、SQL 解析、权限链路三者全断——升级到 phpMyAdmin 5.2+ 是唯一路径,别在 4.4 上打补丁或降级 MySQL。
立即学习“PHP免费学习笔记(深入)”;



















