postgresql配置在Codeigniter中给出一个空白页面(失败连接)

时间:2014-08-01 08:44:28

标签: php codeigniter postgresql

我刚刚使用CodeIgniter框架和PostgreSQL为数据库创建了我的PHP应用程序,它在localhost上运行良好。然后我将应用程序移动到服务器(xxx.xxx.1.77),但是当我尝试运行时,它给出了一个空白页面。

我删除了autoload.php中的所有库和包,它运行良好。所以我把它逐个放入并在我放入每个库/包之后运行它。最后,我发现了问题:数据库。

这个会显示欢迎页面(默认),但当我调用一个连接到模型的控制器时,它会显示一个空白页面。

$autoload['libraries'] = array('session', 'form_validation');

此页面将在第一页显示空白页面(欢迎/默认页面不会显示)。

$autoload['libraries'] = array('session', 'form_validation', 'database');

所以,这是我的数据库配置:

$db['default']['hostname'] = '192.168.1.4';
$db['default']['port'] = '8432';
$db['default']['username'] = 'postgres';
$db['default']['password'] = '';
$db['default']['database'] = 'gstseminar';
$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;

当我尝试在localhost上运行我的应用程序时,该配置没有问题。

任何人都知道我的问题?任何答案都表示赞赏。

2 个答案:

答案 0 :(得分:0)

当我今天尝试运行它时,我不知道我的项目运行良好的方式和原因。我查看了config / database.php,我找到了如下配置:

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

$db['default']['hostname'] = '192.168.1.4';
$db['default']['port'] = '8432';
$db['default']['username'] = 'postgres';
$db['default']['password'] = '';
$db['default']['database'] = 'gstseminar';
$db['default']['dbdriver'] = 'postgre';
$db['default']['dbprefix'] = 'tb_';
$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;

和我的config / autoload.php是:

$autoload['libraries'] = array('session', 'form_validation', 'database');

现在运行良好。谢谢。

答案 1 :(得分:0)

我认为您使用的端口是错误的 试试这个:

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

我认为它是postgre的默认端口