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

访问phpMyAdmin提示MySQLi扩展缺失,疑PHP版本不一致求解答

问题分析与解决方案

你的怀疑完全正确!这种情况大概率是因为Apache使用的PHP环境和终端CLI的PHP环境是完全独立的,phpMyAdmin调用的是Apache加载的PHP模块,而你在终端用php -m查询的是CLI版本的PHP配置,两者的配置文件、启用的模块可能完全不一样,这就是矛盾点所在。下面一步步帮你排查解决:

  • 确认Apache与CLI使用的PHP版本/配置文件差异
    终端里的PHP和Apache加载的PHP是两个独立的程序:

    • CLI版本的PHP是你在终端直接调用的,它的配置文件通常在/etc/php/7.0/cli/php.ini这类路径下
    • Apache加载的是PHP模块(比如libphp7.0.so),它的配置文件可能在/etc/php/7.0/apache2/php.ini(不同系统路径可能有差异)
      你之前修改的php.ini大概率是CLI版本的,而Apache对应的php.ini里MySQLi扩展依然被注释,所以phpMyAdmin检测不到。
  • 用phpinfo验证Apache的PHP环境
    快速确认的方法是新建一个phpinfo.php文件,内容如下:

    <?php phpinfo(); ?>
    

    把这个文件放到Apache的网站根目录(比如/var/www/html),然后访问http://localhost/phpinfo.php,重点看这几个信息:

    • PHP Version:确认Apache加载的是不是你预期的PHP7.0,有没有可能是其他版本(比如PHP5.6或者更高的7.x分支)
    • Loaded Configuration File:找到当前Apache使用的php.ini的具体路径
    • mysqli模块状态:页面里搜索“mysqli”,如果没有相关模块信息,说明这个PHP环境确实没启用mysqli
  • 开启Apache对应PHP的mysqli扩展
    根据phpinfo里找到的php.ini路径,打开这个文件,找到类似;extension=mysqli.so的行,把前面的分号;去掉(分号是注释符),保存文件后重启Apache服务:

    sudo systemctl restart apache2
    

    之后刷新phpMyAdmin页面,应该就能解决缺失提示的问题了。

  • 额外检查:是否安装了Apache对应的mysqli包
    如果你修改配置后还是不行,可能是没安装Apache版本PHP对应的mysqli扩展包。以Ubuntu/Debian系统为例,执行以下命令安装:

    sudo apt-get install php7.0-mysqli
    

    安装完成后同样需要重启Apache服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:41:49