【问题标题】:Cannot connect to PgSQL via Laravel SQLSTATE[08006] [7] FATAL无法通过 Laravel SQLSTATE [08006] [7] FATAL 连接到 PgSQL
【发布时间】:2012-08-11 21:57:05
【问题描述】:

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

这就是我正在做的事情: 我正在尝试使用 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 的错误/访问日志也是如此,就这一点而言,谷歌没有任何帮助。

知道我能做什么吗?

【问题讨论】:

    标签: php postgresql centos sysadmin laravel


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-15
        • 2019-01-15
        • 1970-01-01
        • 2020-12-04
        • 2015-02-09
        • 2012-11-05
        • 2019-07-04
        • 2019-10-27
        相关资源
        最近更新 更多