PHP - Codeigniter - 连接到PostgreSQL失败

use*_*030 4 php postgresql codeigniter

我是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;
Run Code Online (Sandbox Code Playgroud)

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

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

小智 6

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


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