5

私はlaravel経由でpgsqlに接続しようとしていますが、最終的にすべてをセットアップしました(pgsqlサーバーを実行し、pdoをインストールし、すべてのライブラリをインストールしました)。CPanel / WHMで管理されているVPS(CentOS)で実行しています。

これが私がしていることです:私はmigrate:installを使用して職人(Laravelのコマンドライン)を介してユーザーデータベースを作成しようとしています。

Laravelを使用しない場合、職人はpgsqlにphpのPDOを使用して接続します。これが私の設定です:

    '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は何の助けにもなりませんでした。

私に何ができるかについて何か考えはありますか?

4

2 に答える 2

2

すべてを正しくインストール/構成することができました。「ホスト」を127.0.0.1に変更しました。なぜそれが違いを生んだのかわかりませんが、違いはありました:)

于 2012-08-15T15:28:34.010 に答える
2

localhostは、システム上のIPV6::1アドレスを指します。Postgresqlは、アクセスリストを処理するときにipv6アドレスとipv4アドレスを区別します。

于 2012-08-21T15:47:11.830 に答える