无法通过Laravel SQLSTATE连接到PgSQL [7]致命

时间:2012-08-15 15:17:42

标签: php postgresql centos sysadmin laravel

我正在尝试通过laravel连接到pgsql,最后得到了所有设置(pgsql服务器正在运行,pdo已安装,所有libs都已安装)。我正在运行通过CPanel / WHM管理的VPS(CentOS)。

这就是我正在做的事情: 我正在尝试使用migrate:install通过artisan(Laravel的命令行)创建用户数据库。

对于那些不使用Laravel的人,工匠使用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的错误/访问日志,谷歌也没有任何帮助。

关于我能做什么的任何想法?

2 个答案:

答案 0 :(得分:2)

我能够正确安装/配置所有内容。我将“主机”更改为127.0.0.1,不确定为什么会产生影响,但确实如此:)

答案 1 :(得分:1)

localhost指向系统上的IPV6 :: 1地址。在处理访问列表时,Postgresql区分了ipv6和ipv4地址。