2012-08-31 64 views
4

我是CodeIgniter的新手,但我過去開發了幾個工作頁面。我試圖重構這些頁面(舊的頁面仍然在Postgres的Linux框中運行)並在Windows框中進行開發;但我堅持用Postgres數據庫連接的問題,我發現了以下錯誤:PHP - Codeigniter - 連接到PostgreSQL失敗

A Database Error Occurred

Unable to connect to your database server using the provided settings.

Filename: C:\Subayogam_v2.0\Codeigniter\system\database\DB_driver.php
Line Number: 124

我知道這個錯誤出現數據庫配置缺失時,但我有一個有效的DB配置在C:\ Subayogam_v2.0 \笨\程序\ 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錯誤日誌中也沒有有用的錯誤消息。我已經從正在運行的版本粘貼了整個應用程序,並修改了數據庫文件以指向新的數據庫。沒有其他變化。

什麼可能是錯的?是否有任何特定的日誌文件可以提供有關錯誤的更多信息?

+0

是'db_driver'真的'postgre'而不是'postgres'或'postgresql'? * twitch * –

+1

這是postgre。我在使用posgre的Linux機器上有一個工作版本。 – user1452030

+0

你看過Windows事件查看器嗎?在最近一小時(運行測試後)修改過的'C:\ Subayogam_v2.0 \ Codeigniter'中搜索文件?我甚至會嘗試使用Process Monitor來查看是否可以找到codeigniter可執行文件寫入的位置,看看是否可以找到任何日誌。 –

回答

6

我有一個類似的問題,當我第一次使用postgres設置codeigniter。 Postgres運行在不同的端口上,因此您需要在數據庫配置中指定端口, 5432是postgres選擇的默認端口,因爲我已經安裝了mysql。

 

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