需升级phpMyAdmin至4.6.0+并启用mysqli扩展,删除config.inc.php中硬编码的mysql扩展指定,确保PHP环境已安装mysqli、mbstring等必要扩展,重启Web服务。
php
MyAdmin 报错
怎么办
这是 php 7.0+ 环境下最常见的兼容性问题:旧版
phpmyadmin
依赖已废弃的
扩展,而新版 php 默认只启用
或
。不是配置错了,是扩展名本身不匹配。
检查当前 PHP 是否启用了
:
,没输出就说明没启用
别去装早已被移除的
扩展——PHP 7.0 起它就不存在了,强行编译会失败
确认 phpMyAdmin 版本:2.x 或更老的版本不支持
,必须升级到 4.6.0+(推荐 5.2.x)
如果用的是系统包管理器安装(如 apt/yum),注意 php-
mysql
和 php-mysqli 可能是两个独立包,要装
,不是
phpMyAdmin 配置文件里怎么写 mysqli 连接
phpMyAdmin 不需要改代码,只要确保
中没硬编码指定
扩展——它默认优先用
,前提是 PHP 环境里有。
删掉或注释掉类似
这行(如果存在)
不要手动设成
:phpMyAdmin 4.6+ 会自动探测可用扩展,强制指定反而可能绕过自动 fallback
检查
和
是否正确,
对 socket 连接路径更敏感,本地连接建议显式写
而非
(避免走 Unix socket 导致权限/路径问题)
Apache/Nginx 下 PHP 模块加载失败的典型表现
即使
显示
,Web 服务仍报扩展缺失,大概率是 PHP-FPM 或模块没同步加载。
重启对应服务:
(FPM 模式)或
(mod_php)或
+ 重启 PHP-FPM(Nginx+PHP-FPM 组合)
确认 Web 使用的 PHP 版本和 CLI 是同一个:
页面里的
路径,和
输出是否一致
某些 Docker 镜像(如
)默认不带
,需在 Dockerfile 里加
升级 phpMyAdmin 后登录页空白或 500 错误
这不是 mysqli 问题,而是新版对 PHP 版本、GD 扩展、JSON 支持等依赖变严格了。
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
检查错误日志:
或 PHP-FPM 的
日志,常见报错如
—— 缺
必要扩展至少包括:
、
、
、
(图形验证码)、
(导入导出)
如果从 4.0.x 升级到 5.x,
必须设置且长度 ≥32 字符,否则登录页直接白屏
真正麻烦的不是换扩展,是不同环境里 PHP 模块加载路径、用户权限、socket 文件位置这些细节不一致——同一份配置,在 CLI 下跑得通,放到 Web 里就挂,得一个个比对
输出。
立即学习
“
PHP免费学习笔记(深入)
”;
mysqli extension is missingmysqlmysqlipdo_mysqlmysqliphp -m | grep mysqlimysqlmysqliphp-mysqliphp-mysqlconfig.inc.phpmysqlmysqli$cfg['Servers'][$i]['extension'] = 'mysql';'mysqli'$cfg['Servers'][$i]['host']$cfg['Servers'][$i]['port']mysqli127.0.0.1localhostphp -mmysqlisystemctl restart php-fpmsystemctl restart apache2systemctl restart nginxphpinfo()Loaded Configuration Filephp --iniphp:apachemysqlidocker-php-ext-install mysqlitail -f /var/log/apache2/error.loglog_level = debugCall to undefined function mb_detect_encoding()php-mbstringmysqlimbstringjsongdzipblowfish_secretphpinfo()