core/Loader.php中的数据库错误--postgresql+codeigniter


Database error in core/Loader.php -- postgresql + codeigniter

我得到以下错误:

Unable to connect to your database server using the provided settings.
Filename: core/Loader.php
Line Number: 346

我的database.php是:

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'usertest';
$db['default']['password'] = '';
$db['default']['database'] = 'usertest';
$db['default']['port']     = '5433';
$db['default']['dbdriver'] = 'postgre';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

可能的解决方案是什么。我不希望$db[default']['db_debug']=FALSE;因为即使这样做了,我仍然无法连接到数据库。

编辑:将端口更改为5432。但它仍然不工作

设置Set $db['default']['pconnect'] = FALSE;并再次检查。

一些数据库驱动程序(如PDO、PostgreSQL、Oracle、ODBC)可能要求提供完整的DSN字符串。如果是这样的话,你应该使用"dsn"配置设置,就好像您正在使用驱动程序的底层原生PHP扩展,如下所示:

$db['default']['dsn'] = 'pgsql:host=localhost;port=5432;dbname=database_name';

来自代码点火器的官方文档

尝试:

$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = FALSE;

检查数据库驱动程序名称。我很确定它是"postgres"而不是"postgre"。