用phpinfo查扩展是否加载_确认mysqli等模块启用技巧【技巧】

mysqli扩展未加载导致“Call to undefined function mysqli_connect()”错误,需通过phpinfo()确认、编辑php.ini启用extension=mysqli、命令行验证php -m | grep mysqli及Windows下检查DLL依赖。

用phpinfo查扩展是否加载_确认mysqli等模块启用技巧【技巧】

如果您运行 PHP 脚本时提示“Call to undefined function mysqli_connect()”,则可能是 mysqli 扩展未被正确加载。以下是通过 phpinfo() 确认扩展是否启用的具体操作方法:

一、创建并访问 phpinfo() 页面

phpinfo() 函数会输出当前 PHP 环境的完整配置信息,包括已加载的扩展列表。通过该页面可直观查看 mysqli、pdo_mysql 等扩展是否出现在“Loaded Modules”或对应扩展区块中。

1、使用文本编辑器新建一个名为 info.php 的文件。

2、在文件中写入内容:

立即学习PHP免费学习笔记(深入)”;

3、将 info.php 上传至 Web 服务器的可访问目录(如 Apache 的 htdocs 或 Nginx 的 root 目录)。

4、在浏览器中访问 http://localhost/info.php(或对应域名路径)。

5、在页面中按 Ctrl+F 搜索 mysqli,确认是否出现“mysqli support => enabled”及“Client API library version”等字段。

二、检查 php.ini 中 extension 配置项

phpinfo() 页面顶部的 “Loaded Configuration File” 行明确显示了当前生效的 php.ini 文件路径。若 mysqli 未启用,需手动编辑该配置文件启用对应扩展。

1、在 phpinfo() 页面查找 “Loaded Configuration File” 对应的绝对路径。

2、用管理员权限打开该 php.ini 文件。

3、搜索 extension=mysqli,确认该行未被分号注释(即不以 ; 开头)。

4、同时检查 extension=pdo_mysql 是否也处于启用状态(部分框架依赖 PDO 接口)。

椒图AI

椒图AI

中文AI修图神器,一句话搞定复杂修图

下载

5、保存文件后,重启 Web 服务器(如 systemctl restart apache2 或 nginx -s reload)。

三、验证扩展是否实际加载

仅靠 php.ini 配置启用并不保证扩展成功载入,可能因.so/.dll 文件缺失、路径错误或依赖库不兼容导致静默失败。需结合命令行与脚本双重验证。

1、在终端执行 php -m | grep mysqli,观察是否输出 mysqli 及 pdo_mysql。

2、若无输出,执行 php -i | grep “Configuration File” 确认 CLI 模式加载的 php.ini 是否与 Web 模式一致。

3、创建 verify.php 文件,内容为:

4、在浏览器或命令行运行该脚本,返回 bool(true) 表示扩展已加载成功。

四、排查 Windows 下 DLL 依赖问题

Windows 环境中 mysqli 扩展依赖 libmysql.dll 或 mysqlnd 库,若系统 PATH 中缺失对应 DLL,即使 extension 已启用也会加载失败,且 phpinfo() 中不显示该模块。

1、确认 php.ini 中 extension_dir 指向正确的扩展目录(如 “ext” 子目录)。

2、检查该目录下是否存在 php_mysqli.dll 文件。

3、将 PHP 安装目录下的 libmysql.dll(或同版本的 libmysql.dll)复制到 Windows 系统目录(如 C:/Windows/System32)或 Apache/bin 目录。

4、确保 php.ini 中未启用 extension=php_pdo_mysql.dllextension=php_mysqli.dll 同时加载冲突项(二者选其一即可)。

https://www.php.cn/faq/1971512.html

发表回复

Your email address will not be published. Required fields are marked *