无法将PDO PGSQL与Codeigniter连接

时间:2016-11-05 07:57:39

标签: codeigniter pdo server redhat

关于 Codeigniter &的关联问题,我遇到了问题。 PDO_PGSQL

我尝试在RedHat 6.8 Server OS中连接。

我的配置文件:

$active_group = 'default';
$query_builder = TRUE;

$db['default']['hostname'] = 'pgsql:host=<myip>;dbname=shlydb;';
$db['default']['username'] = 'root';
$db['default']['password'] = '123';
$db['default']['database'] = 'shlydb';
$db['default']['dbdriver'] = 'pdo';
$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']['port'] = 5432;

还附加了db_connect函数..

 public function db_connect($persistent = FALSE)
  {
    $this->options[PDO::ATTR_PERSISTENT] = $persistent;

    try
    {
        return new PDO($this->dsn, $this->username, $this->password, $this->options);
    }
    catch (PDOException $e)
    {
        if ($this->db_debug && empty($this->failover))
        {       
            $this->display_error($e->getMessage(), '', TRUE);
        }

        return FALSE;
    }
}

但在跑步时显示错误,

  

遇到PHP错误

     

严重性:警告

     

消息:PDO :: __ construct():SQLSTATE [IM001]:驱动程序不支持   此功能:驱动程序不支持设置属性

     

文件名:pdo / pdo_driver.php

     

行号:133

1 个答案:

答案 0 :(得分:0)

你好配置应该是这样的:

    $db['default']['dsn'] = 'pgsql:host=<myip>;port=5432;dbname=shlydb';
    $db['default']['hostname'] = '<myip>';
    $db['default']['username'] = 'root';
    $db['default']['password'] = '123';
    $db['default']['database'] = 'shlydb';
    $db['default']['dbdriver'] = 'pdo';
    $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']['port'] = 5432;