【问题标题】:Database error in core/Loader.php -- postgresql + codeignitercore/Loader.php 中的数据库错误 -- postgresql + codeigniter
【发布时间】:2013-07-15 04:46:45
【问题描述】:

我收到以下错误:

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了,还是不行

【问题讨论】:

  • 你确定 postgres 在端口 5433 上吗?从命令行尝试telnet localhost 5433,看看是否出现空白屏幕。
  • 同样的问题,Posgres 的默认端口是 5432。
  • "postgre"?我认为你错过了一个 s

标签: php apache codeigniter php-pgsql


【解决方案1】:

试试:

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

【讨论】:

    【解决方案2】:

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

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

    from official documentation of codeigniter

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-05-29
          • 1970-01-01
          • 1970-01-01
          • 2014-02-28
          • 2015-06-28
          • 1970-01-01
          • 2014-03-25
          • 1970-01-01
          相关资源
          最近更新 更多