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

PHP与MySQL连接报错:mysqli类未找到问题求助

问题:PHP运行mysqli代码报“Class 'mysqli' not found”错误

运行测试代码时,页面及Chrome控制台均显示如下错误:

Fatal error: Uncaught Error: Class "mysqli" not found in D:\Apache24\htdocs\mysqltest.php:10 Stack trace: #0 {main} thrown in D:\Apache24\htdocs\mysqltest.php on line 10

测试代码:

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');

$user = "root";
$pass = "1234";
$host = "localhost";
$dbdb = "mysql";

$conn = new mysqli($host, $user, $pass, $dbdb);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

echo "It works, Connected successfully";
?>

已尝试修改php.ini、调整目录路径、切换为PDO、重装MySQL等方法,均未解决问题,请求协助排查。


解决方案

1. 确认生效的php.ini文件

新建phpinfo.php文件,内容如下:

<?php phpinfo(); ?>

访问该文件,找到Loaded Configuration File项,确定当前PHP实际加载的php.ini路径(很多用户会修改错误的配置文件导致无效)。

2. 启用mysqli扩展

打开上述找到的php.ini文件,完成以下配置:

  • 找到extension=mysqli(Windows环境下可能是extension=php_mysqli.dll),去掉行首的分号;解除注释。
  • 检查extension_dir配置,确保指向PHP安装目录下的ext文件夹,例如:
    extension_dir = "D:/PHP/ext"
    
    (注意路径使用正斜杠/或双反斜杠\\,避免单斜杠转义问题)

3. 确认扩展文件存在

前往PHP安装目录的ext文件夹,检查是否存在php_mysqli.dll(Windows)或mysqli.so(Linux)文件。如果缺失,说明PHP安装时未包含mysqli扩展,需重新安装PHP并勾选mysqli组件。

4. 重启Apache服务

修改php.ini后必须重启Apache,否则新配置不会生效。

5. 验证扩展加载状态

再次访问phpinfo.php,查找是否存在mysqli章节;或运行以下代码验证:

<?php var_dump(extension_loaded('mysqli')); ?>

返回bool(true)则表示扩展加载成功。

6. 检查Apache的PHP模块配置

打开Apache的httpd.conf文件,确认加载的PHP模块路径和版本匹配:

LoadModule php8_module "D:/PHP/php8apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "D:/PHP"

确保PHPIniDir指向PHP安装目录,让Apache加载正确的php.ini文件。

针对PDO也无法使用的情况

若切换PDO后仍报错,需同时启用PDO相关扩展:
在php.ini中解除以下行的注释:

extension=pdo_mysql
extension=pdo

同样重启Apache后验证。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 07:55:19