首页 > 解决方案 > 在 codeigniter 3 上加载数据库后遇到未捕获的异常

问题描述

我在linux环境中使用codeigniter 3,使用php 7.2。Gere 是我在 codeigniter 中的自动加载配置:

$autoload['libraries'] = array('database', 'session');

和我的数据库配置:

$db['default'] = array(
    'dsn'   => '',
    'hostname' => 'localhost',
    'username' => 'root',
    'password' => '',
    'database' => 'scevas',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

但是在我加载/保存并查看我的页面后,我收到了这个错误:
在此处输入图像描述
我已经启用了 phpenmode mysqli 并重新启动了 Apche 服务,但仍然出现错误,我没有想法并且已经用谷歌搜索了这个错误但没有其中为我工作。有谁知道如何解决这一问题?

我已经解决了这个问题: 我忘记安装其他包/模块

apt-get install php-pear php7.2-dev php7.2-zip php7.2-gd php7.2-mysql  php7.2-xml

然后重新启动apache2服务,它就可以工作了。 注意:我没有在数据库中使用 root 用户,我只是添加/创建了另一个具有授予权限的用户

标签: phpcodeigniter

解决方案


首先检查是否在您的php.ini

extension=php_mysqli.dll

然后,通过验证phpinfo()mysqli 是否运行良好。

您还应该从此更改您的数据库配置

$db['default']['dbdriver'] => 'mysqli'

对此

$db['default']['dbdriver'] => 'mysql'

推荐阅读