2012-08-15 80 views
1

我試圖通過laravel連接到pgsql,並最終得到一切設置(pgsql服務器運行,pdo安裝,所有庫安裝)。我正在通過CPanel/WHM管理的VPS(CentOS)上運行。無法連接到PgSQL通過Laravel SQLSTATE [08006] [7]致命

以下是我在做什麼: 我試圖通過使用migrate:install的artisan(Laravel的命令行)創建用戶數據庫。

對於那些不使用Laravel的人來說,artisan使用php的PDO來連接pgsql。這裏是我的設置:

'pgsql' => array(
     'driver' => 'pgsql', 
     'host'  => 'localhost', 
     'database' => 'dbname', 
     'username' => 'username', 
     'password' => 'password', 
     'charset' => 'utf8', 
     'prefix' => '', 
    ), 

我還設置一個test.php的文件:

$dbconn = pg_connect("host=localhost port=5432 dbname=dbname user=username password=password"); 

這也將失敗。我使用phpPgAdmin來查看發生了什麼,所有的權限都設置正確,數據庫顯示,用戶名是正確的,與密碼相同。我檢查了postgre(版本8.4.12 btw)在哪裏運行,phpPgAdmin告訴我「localhost:5432」。

我通過命令行得到的錯誤是:

SQLSTATE[08006] [7] FATAL: no pg_hba.conf entry for host "::1", user "myusername", database "my_database", SSL OFF 

現在,我試圖找到pg_hba.conf文件,但我不能完全肯定到哪裏尋找它。就這一點而言,pg和google的錯誤/訪問日誌也一樣沒有任何幫助。

關於我能做什麼的想法?

回答

1

localhost指向您的系統上的IPV6 :: 1地址。 Postgresql在處理訪問列表時使得ipv6和ipv4地址有所不同。

+0

謝謝,你救了我的一天! :d – inf3rno 2013-07-09 10:33:24

2

我能夠正確地安裝/配置所有東西。我改變了「主機」爲127.0.0.1,不知道爲什麼這有所作爲,但它確實:)