搜索全站
安装部署 7 分钟阅读

WordPress安装提示缺少MySQL扩展(mysqli)怎么办

安装 WordPress 时提示 PHP 缺少 MySQL 扩展(mysqli)?本文讲清 mysqli 缺失的原因,并提供宝塔面板、php.ini、命令行三种启用方法,还教你用 phpinfo 确认扩展是否真正生效,帮你顺利进入安装向导,不再被这句红字挡住。

U
UFO_PF 2026-10-10 · 阅读 7 分钟
Wo 安装部署
阅读提示
本文约 2,569 字,预计阅读 7 分钟。文中命令与配置均经过实测,可直接参考执行。

引言

下载好 WordPress,打开域名进入安装页面,结果最上面不是”欢迎使用”,而是一行醒目的红字:您的 PHP 安装似乎缺少 WordPress 所需的 MySQL 扩展。英文原文是 Your PHP installation appears to be missing the MySQL extension which is required by WordPress。数据库明明建好了,账号密码也填对了,为什么又说缺扩展?这是因为 WordPress 连接 MySQL 并不是随便就能连的,它必须借助 PHP 提供的一个叫 mysqli 的”翻译官”来和数据库对话。如果这个扩展没有安装或被禁用,PHP 根本发不出连接请求,WordPress 连第一步都迈不出去。这个问题在自建服务器、老旧虚拟主机、或手动切换过 PHP 版本的环境里特别常见,但它的解决过程其实相当简单,唯一要做的就是给当前 PHP 装上 mysqli 这个扩展。

故障原因分析

1. PHP 根本没有安装 mysqli 扩展。 有些服务器为精简体积,只装了 PHP 核心,没有带数据库相关扩展;一些极简系统镜像甚至默认完全不带 mysqli,WordPress 缺了它就报错。

2. php.ini 里 mysqli 被注释掉了。 文件里写着 ;extension=mysqli,前面那个分号表示”这一行不生效”,等于扩展装了但没启用。

3. 扩展装到了错误的 PHP 版本上。 服务器上同时存在 PHP 7.4 和 PHP 8.1,网站实际跑在 8.1,而你把扩展装进了 7.4,自然还是缺,宝塔面板里每个 PHP 版本都要单独装扩展,别以为装一次就全站通吃。

4. 缺少底层依赖包。 用系统包管理器安装的 PHP,往往要额外装 php-mysql 之类的包,mysqli 才会一并就位;如果你的 PHP 是分开好几个包安装的,很容易漏掉这个与数据库相关的包。

5. 命令线和网站用的是两套 PHP。 php -m 显示有 mysqli,但网站仍报错,说明网站使用的 PHP 与命令行不是同一个;服务器上版本越多,这种看起来装了其实没生效的错觉就越常见。

分步解决方案

方法一:宝塔面板一键安装(最推荐新手)

登录宝塔面板,进入【软件商店】→ 已安装的 PHP 版本 →【设置】→【安装扩展】,找到 mysqli,点击”安装”。等它编译完成后,在【服务】里重启一次 PHP,再刷新安装页即可。宝塔同时还建议把 pdo_mysql 一并装上,很多主题和插件会用到。

方法二:修改 php.ini 启用扩展

先确认当前生效的 php.ini 位置(访问一个含 <?php phpinfo(); ?> 的临时文件,看 Loaded Configuration File 那一行),然后编辑:

; php.ini 中找到并去掉行首的分号
extension=mysqli
; 某些环境需要写完整路径
; extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20210902/mysqli.so

保存后重启 PHP / Web 服务,扩展才会生效,如果改完仍提示缺少,说明你编辑的 php.ini 并不是网站实际加载的那一份。

方法三:用系统包管理器安装

如果你是 Ubuntu / Debian 或 CentOS 自行安装的 PHP,用命令补上扩展最省事:

# Ubuntu / Debian,按实际 PHP 版本调整
apt-get install php-mysql
apt-get install php8.1-mysqli

# CentOS / RHEL,用 remi 源时同理
yum install php-mysqli

# 安装完成后重启服务
systemctl restart php-fpm
systemctl restart nginx

命令装完后同样要重启 PHP-FPM 与 Web 服务,扩展才会被加载进运行中的进程。

验证是否装好

php -m | grep mysqli          # 命令行查看是否已加载

再访问一次 phpinfo() 页面,搜索 mysqli,能看到 “mysqli support → enabled” 就说明成功了。

常见踩坑点

  1. 改了 php.ini 却没重启服务。 配置只有重启 PHP-FPM 或 Web 服务后才会重新读取,否则看到的还是旧状态。
  2. 服务器上有多个 php.ini。 宝塔每个 PHP 版本各有一份,改错目录等于白改,务必用 phpinfo 确认路径。
  3. 只装了 pdo_mysql 忘了 mysqli。 WordPress 核心默认使用 mysqli 驱动,两个最好都装。
  4. 扩展装在了不生效的 PHP 版本。 先确认网站当前绑定的 PHP 版本,再往这个版本里加扩展。
  5. 命令行能过但网页报错。 这几乎一定是网站与命令行 PHP 不是同一套,以网页端 phpinfo 的结果为准。
  6. 装完以为自动生效。 有些扩展安装后需要等待面板编译完成,进度条没走完就刷新页面,看到的仍是旧状态,等它提示安装成功再测试。

总结

“缺少 MySQL 扩展”这件事听起来技术味很浓,实际就是一个”该开的开关没开”的问题。判断标准只有一个:当前网站运行的那个 PHP 版本里,mysqli 扩展到底启用没有。用宝塔面板的话,点两下就能装好;用命令行的话,装 php-mysql 这类包再重启即可。处理完记得用 phpinfo 或 php -m 复核一遍,别只看命令成功就以为万事大吉。另外,部署镜像、容器或手动编译 PHP 时,最好一开始就把 mysqli 和 pdo_mysql 都编进去,省得日后反复折腾。装上 mysqli 之后,WordPress 就能顺利和数据库握手,安装向导也会如期出现,这个拦在安装第一步的小障碍就彻底清除了。只要当前 PHP 版本里 mysqli 处于已启用状态,这句红字提示就会消失,你可以安心走上建站正轨。环境升级或更换服务器之后,也建议顺手确认一次 mysqli 是否就位。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。