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

时间:2013-07-16 20:14:49

标签: php apache codeigniter php-pgsql

我收到以下错误:

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; 即使这样做后,我仍然无法连接到db。

编辑: 将端口更改为5432.仍然无法正常工作

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

  

某些数据库驱动程序(例如PDO,PostgreSQL,Oracle,ODBC)可能   需要提供完整的DSN字符串。如果是这样,您   应该使用“ dsn”配置设置,就像您在使用   驱动程序的基础本机PHP扩展,例如:

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

data type precedence

答案 2 :(得分:0)

试试:

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

答案 3 :(得分:-1)

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