2010-08-14 35 views
5

EDITAR: Me acabo de dar cuenta de que esta pregunta puede ser más adecuada para ServerFault. En lugar de copiarlo, un moderador por favor muévelo? Gracias.No se puede conectar a PostgreSQL con PHP pg_connect()

He comprobado php-info, y la extensión Postgresql está allí (pg_connect() no está indefinido). También puedo conectarme a postgresql usando psql en localhost (he editado mi archivo pg_hba.conf de forma apropiada). Aquí está el código que no funciona:

<?php 
$dbconn = pg_connect("host=localhost port=5432 dbname=mydb user=myuser password=mypass") or die('Could not connect: ' . pg_last_error()); 
?> 

Este código simplemente se traduce en "No se pudo conectar:" que se muestra en el navegador.

Miré el registro de Apache, y aquí está el error correspondiente:

PHP Warning: pg_connect() [<a href='function.pg-connect'>function.pg-connect</a>]: 
Unable to connect to PostgreSQL server: could not connect to server: Permission 
denied\n\tIs the server running on host &quot;localhost&quot; and accepting\n\tTCP/IP 
connections on port 5432? 

¿Cómo puedo solucionar/depuración esto?

Editar: Estoy en Centos 5.4 por cierto.

Respuesta

10

No se pudo conectar con el servidor: Permiso denegado

Editar: Estoy en Centos 5.4 por cierto.

Verificar /var/log/audit/audit.log. Lo más probable es que esté golpeando una regla de SELinux.

+2

Gracias, eso fue todo. Acabo de hacer 'setenforce 0' y funcionó. – ehsanul

+7

También puede ejecutar setsebool -P httpd_can_network_connect 1 – garg

Cuestiones relacionadas