PHP - Codeigniter - 连接到PostgreSQL失败

时间:2012-08-31 08:06:55

标签: php codeigniter postgresql

我对CodeIgniter很新,但我过去开发了一些工作页面。我正在尝试重构这些页面(旧页面仍然在Postgres上的Linux框中运行)并在Windows框中进行开发;但我遇到了Postgres数据库连接问题,我收到以下错误:

  

发生数据库错误

     

无法使用提供的设置连接到数据库服务器。

     

文件名:C:\ Subayogam_v2.0 \ Codeigniter \ system \ database \ DB_driver.php
  行号:124

我知道当数据库配置丢失时会出现此错误,但我确实在C:\ Subayogam_v2.0 \ Codeigniter \ application \ config \ database.php中有一个有效的数据库配置。以下是配置文件数据:

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'postgres';
$db['default']['password'] = 'mypassword';
$db['default']['database'] = 'subayogam_v2.0';
$db['default']['dbdriver'] = 'postgre';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = TRUE;
/*$db['default']['cachedir'] = '/var/subayogam_2.0/cache';*/
$db['default']['cachedir'] = 'C:\Subayogam_v2.0\Codeigniter\cache';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

我仔细检查了缓存文件夹路径,并尝试了一个连接到同一个数据库的简单PHP页面,看看驱动程序是否正常工作,我能够看到数据库中的结果。 Apache错误日志中也没有有用的错误消息。我从正在运行的版本中复制粘贴了整个应用程序,并修改了DB文件以指向新数据库。没有其他任何改变。

可能有什么不对?是否有任何特定的日志文件可以为我提供有关错误的更多信息?

1 个答案:

答案 0 :(得分:6)

当我第一次使用postgres设置codeigniter时,我遇到了类似的问题。 Postgres在不同的端口上运行,因此您需要在数据库配置中指定端口; 5432是postgres选择的默认端口,因为我已经安装了mysql。


    $db['default']['port'] = 5432;