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)
에 전달
매개 변수는 다음과 같습니다 I 게스트가 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에 줄이 없습니다.conf <<10.0.2.15>> 사용자 <> 데이터베이스 <> SSL 비활성 ' –