redhat linux 8.0(7.3으로도 해보았는데 마찬가지임) 설치할때 postgres와 apache를 같이 설치했습니다. 물론 php도 설치했구요. linux 설치할때 시디에서 체크하면 설치되는 것으로 했습니다. phpinfo()로 확인해본결과 php와 postgres 관련 설정이 되어 있구요. postgres 계정도 생성이 되어 있더군요..
물론 postgres 계정으로 db를 만들었고 psql로는 그 디비에 접속이 가능했습니다. 물론 테이블도 생성되고 테이블에 데이터도 삽입되더군요.
그런데 문제는 php를 이용하여 db에 접속하려고 하면 연결 에러가 나오네요.
php 소스는
$conn=pg_connect("dbname=test");
$conn=pg_connect("dbname=test user=postgres");
$conn=pg_connect("dbname=test user=aaa"); aaa라는 계정을 생성했습니다.
$conn=pg_conncet("dbname=test user=aaa password=1111");
이렇게 네가지 경우를 다 해보았는데 대부분 같은 내용이더군요.
에러 메세지는
Warning:pg_connect() unsable to connect to PostgreSQL server. FATAl 1:IDENT authentication failed for user "aaa" in /var/www/html/test.php on line 2 fail
이런 메세지구요. 2번째 라인이 위 4가지 경우의 라인입니다.
pg_hba.conf.sample 이라는 파일을 pg_hba.conf로 이름도 변경하고
내용을 local all trust로 설정도 하고 postgres 서버를 재시작도 해보았습니다.
결과는 마찬가지더군요.
pg_ctl status로 보니 postgres도 작동이 되고 있고요.
pg_user 테이블에 aaa라는 계정있구요.
postgres 소스를 구해서 직접 컴파일을 해보니까 거기서는 그냥 연결이 되더군요.
근데 저는 linux배포판에서 설치한 postgres가 필요해서 이렇게 해메구 잇습니다.
이 문제 해결방법을 알고계신 고수님들 계시면 좀 알려주세요.
이 문제로 일주일째 헤매고 있습니다.ㅜㅜ
부탁드립니다.
|