2015-01-02 23 views
6

Ho CentOS 7 in esecuzione su VirtualBox su OSX. Apache, PHP 5.4 e PostgreSQL 9.2 sono tutti in esecuzione. Ma, quando il mio (semplice) php-script tenta di connettersi a PostgreSQL non funziona:PHP non può connettersi a PostgreSQL su CentOS 7

Attenzione: pg_connect(): Impossibile connettersi al server PostgreSQL: potrebbe non connettersi al server: Autorizzazione negata Is il server in esecuzione sull'host "127.0.0.1" e accetta le connessioni TCP/IP sulla porta 5432? in /var/www/html/pg.php on line 7

Controlli:

  • Apache è in esecuzione
  • PHP va bene, phpinfo() mi dice che le funzioni di PostgreSQL sono disponibili
  • PostgreSQL 9.2 è in esecuzione
  • psql in grado di connettersi al database utilizzando localhost o 127.0.0.1 e anche 192.168.178.111
  • pgAdmin sul mio Mac può c onnect a questo database utilizzando l'indirizzo IP 192.168.178.111
  • iptables è stato spento
  • pg_hba.conf è stato modificato per accettare tutte le connessioni senza password (stupido, lo so):

ospite tutti tutti 0.0.0.0/0 fiducia

Ma PHP non riesce a collegarsi .... Questo è il mio script:

<?php 
ini_set('display_errors', 1); 
error_reporting(E_ALL); 

echo 'hello world!'; 

$conn = pg_connect('host=127.0.0.1 port=5432 user=postgres dbname=postgres'); 
?> 

interno opera collegamenti (psql), collegamenti esterni anche funzionare (pgAdmin su un mio portatile), ma la connessione php non funziona ...

cosa c'è di sbagliato? Cosa mi manca?

+0

Hai provato anche la password per l'utente "postgres" nella stringa di connessione? –

+0

@ChrisV: Sì, ho provato anche quello. Ma non c'è bisogno, psql e pgAdmin funzionano anche senza password quando non c'è bisogno di una password. –

risposta

6

Probabilmente SELinux sta bloccando la connessione al database.

Assicurarsi di impostare il booleano corretto per consentire l'applicazione web per parlare al database:

sudo setsebool -P httpd_can_network_connect_db 1 
+0

Grazie! Sapevo che era un problema di configurazione, ma non sapevo dove cercare. –

Problemi correlati