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

CodeIgniter框架出现mysqli_connect()未定义致命错误求助

报错排查方案

前置说明

该报错本质是当前PHP进程未成功加载mysqli扩展,你此前确认的扩展安装状态大概率是cli命令行模式的状态,和web请求使用的PHP配置不是同一套。

排查步骤

  • 第一步:验证web环境扩展加载状态
    新建phpinfo.php文件写入如下代码:
    <?php phpinfo(); ?>
    放到站点根目录通过浏览器访问,搜索mysqli关键词,确认扩展状态为enabled。如果搜索不到该项,说明web环境用的php.ini未配置加载mysqli扩展。
  • 第二步:修正php.ini配置
    从phpinfo页面找到Loaded Configuration File项对应的php.ini文件路径,编辑该文件,找到extension=mysqli配置(Linux环境对应extension=mysqli.so,Windows环境对应extension=php_mysqli.dll),去掉行首的分号注释后保存。
  • 第三步:确认扩展文件权限正常
    从phpinfo页面找到extension_dir对应的目录路径,进入该目录确认对应mysqli扩展文件存在,且运行web服务的用户(如www、apache)有读取权限。
  • 第四步:检查CodeIgniter框架配置
    打开项目下application/config/database.php文件,确认数据库驱动配置为:

    $db['default']['dbdriver'] = 'mysqli';
    禁止填写已废弃的mysql驱动值。

  • 第五步:重启服务生效配置
    根据你的运行环境重启对应服务:
    • PHP-FPM环境执行:systemctl restart php7.4-fpm
    • Apache环境执行:systemctl restart httpd
      重启后再访问站点验证报错是否消失。

独立验证方法

如果以上步骤执行后仍报错,可以用独立脚本验证和框架是否有关,新建test_mysqli.php写入以下内容:

<?php
// 替换为你实际的数据库配置
$conn = mysqli_connect('localhost', '数据库用户名', '数据库密码', '数据库名');
if (!$conn) {
  die('连接失败: ' . mysqli_connect_error());
}
echo 'MySQLi连接正常';

浏览器访问该脚本,如果还是报相同错误,可直接确定是PHP环境的扩展加载问题,和CodeIgniter框架无关。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:09:00