2015-01-02 16 views
6

Ich habe CentOS 7 in VirtualBox auf OSX ausgeführt. Apache, PHP 5.4 und PostgreSQL 9.2 laufen alle. Aber wenn meine (einfach) PHP-Skript zu verbinden versucht, es PostgreSQL funktioniert nicht:PHP kann keine Verbindung zu PostgreSQL auf CentOS 7 herstellen

Warnung: pg_connect(): Kann nicht PostgreSQL-Server verbinden: konnte keine Verbindung zum Server: Zugriff verweigert der Server läuft auf dem Host "127.0.0.1" und akzeptieren TCP/IP-Verbindungen auf Port 5432? in /var/www/html/pg.php auf Linie 7

Checks:

  • Apache läuft
  • PHP ist in Ordnung, phpinfo() sagt mir, sind PostgreSQL-Funktionen verfügbar
  • PostgreSQL 9.2 läuft
  • psql können auf die Datenbank unter Verwendung von localhost oder 127.0.0.1 verbinden und 192.168.178.111
  • pgAdmin auch auf meinem Mac kann c onnect auf diese Datenbank mit IP-Adresse 192.168.178.111
  • iptables wurde ausgeschaltet
  • pg_hba.conf wurde geändert, um alle Verbindungen zu akzeptieren ohne Passwort (dumm, ich weiß):

Gastgeber alle alle 0.0.0.0/0 Vertrauen

Aber pHP kann keine Verbindung .... Das ist mein Skript:

<?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'); 
?> 

Interne Verbindungen Arbeit (psql), externe Verbindungen arbeiten auch (pgAdmin auf meinem Laptop), aber die PHP-Verbindung nicht funktioniert ...

Was nicht in Ordnung ist? Was fehlt mir?

+0

Haben Sie versucht, das Passwort für den Benutzer „postgres“ in der Verbindungszeichenfolge einschließlich? –

+0

@ChrisV: Ja, das habe ich auch versucht. Psql und pgAdmin funktionieren auch ohne Passwort, wenn kein Passwort benötigt wird. –

Antwort

6

Wahrscheinlich blockiert SELinux Ihre Datenbankverbindung.

Achten Sie darauf, dass Sie die richtige boolean geben Sie Ihre Web-Anwendung zu ermöglichen, auf die Datenbank zu sprechen:

sudo setsebool -P httpd_can_network_connect_db 1 
+0

Danke! Ich wusste, dass das Konfigurationsproblem war, wusste aber nicht, wo ich suchen sollte. –

Verwandte Themen