仮想マシン内のPHPスクリプトを使用してPostgreSQLデータベースに接続しようとしましたが、失敗しています。PHP - 仮想マシンのPostgreSQLデータベースへの接続に失敗しました
私はホスト(Windows 8.1)からphpを実行し、postgresqlは仮想マシン(Debian 8.6)にあります。私はVirtualBoxを使用します。
ブラウザからのエラー出力は次のとおりです。
警告:のpg_connect():PostgreSQLサーバに接続できません:サーバーに接続できませんでした:「接続がタイムアウトしました(0x0000274C/10060)サーバがホスト上で実行されています10.0.2.15 "とポート5432でTCP/IP接続を受け入れますか? 11行目のC:\ xampp \ htdocs \ pg_test.php
11行目はpg_connect($conn_string)
です。 pg_connect($conn_string)
に渡さ
パラメータは次のとおりです。私はゲストがIP 10.0.2.15
を持っていること(ifconfigコマンドで)確認されているため
$host = "host=10.0.2.15";
$port = "port=5432";
$dbname = "dbname=postgres";
$user = "user=user_switch";
$password = "password=switch";
$conn_string = "$host $port $dbname $user $password";
pg_connect($conn_string);
は私がhost=10.0.2.15
を使用しています。
にpg_hba.conf:
host all all 0.0.0.0/0 trust
のpostgresql.conf:
listen_addresses = '*'
iptables
Iで
pg_hba.conf
と
postgresql.conf
を修正しましたルールを追加しました
-A INPUT -p tcp -m cp --dport 5432 -j ACCEPT
また、Windowsホストでファイアウォールを無効にしてみました。
SELinuxが接続をブロックしていると言われる場所もありますが、ゲストにはインストールされていません。
ゲストのuser_switchを使用してデータベースに正常に接続するには、コマンドをpsql -d postgres -U user_switch -W -h localhost
と入力して、パスワードの入力を求めます。
ありがとうございました。私が忘れてしまったかもしれないより多くの仕様についてお気軽にお問い合わせください。
'psql -d postgres -U user_switch -W -h 10.0.2.15'を使用してゲストマシンから接続できますか? – pietrop
@pietropこのエラーは、 'psql:FATAL:pg_hbaに行がありません。<<10.0.2.15>用のconf>、ユーザー<>、データベース<>、SSL –