저는 이 정확한 문제에 대한 수정 사항을 자세히 설명하는 여러 기사를 읽었습니다. pg_hba.conf 파일을 편집하는 다양한 방법을 시도했지만 사용하려는 PHP 프로그램을 실행하려고 하면 Apache 로그에 다음 오류가 계속 표시됩니다.
Thu Mar 28 08:20:21 2013] [오류] [클라이언트 172.16.1.64] PHP 경고: pg_connect(): >PostgreSQL 서버에 연결할 수 없습니다: 치명적: 사용자에 대한 피어 인증이 실패했습니다.
이것은 내 현재 pg_hba.conf 파일입니다.
무엇을 더 시도해야 할지 모르겠습니다. 도움을 주시면 대단히 감사하겠습니다!
감사해요!
답변1
다음의 첫 번째 규칙을 고려하십시오 pg_hba.conf
.
로컬 모두 모두 피어
이는 모든 로컬 연결에 대해 Unix 사용자가 db 사용자와 동일해야 함을 의미합니다. 분명히 이것은 PHP 코드의 경우가 아니므로 실패합니다.사용자에 대한 피어 인증에 실패했습니다....
두 번째 규칙을 사용하면 스크립트를 연결할 수 있지만 첫 번째 규칙이 우선하므로 무시됩니다.
로컬 모두 모두 신뢰
이 규칙은 비밀번호나 신원 확인 없이 모든 로컬 연결이 허용됨을 의미합니다.
괜찮다면 첫 번째 규칙을 삭제하고 postgresql 서비스를 다시 로드하여 변경 사항을 적용하세요.
다른 규칙은 TCP 연결과 관련되어 있으므로 문제와 관련되어서는 안 되며 오류 메시지에 따르면 스크립트에서 사용하는 방법이 아니며 기본 Unix 도메인 소켓을 통해 연결을 시도하고 있습니다.