跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

如何处理phpMyAdmin提示找不到mysql扩展_升级至mysqli驱动方案

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

相关文章