Auf Postgres DB vom web-Verzeichnis zugreifen

Status
Für weitere Antworten geschlossen.

Speil

Benutzer
Mitglied seit
03. Jun 2013
Beiträge
14
Punkte für Reaktionen
0
Punkte
7
Hi,

ich habe phpPgAdmin über das Community Package installiert. Das kann ich jetzt auch über "http://diskstation/phpPgAdmin/" aufrufen und mich als admin einloggen.

Der DB photo habe ich jetzt auch schon dem User admin alle Recht gegeben.


Jetzt wollte ich auf die Tabellen mit einer php-Datei im web-Verzeichnis zugreifen. Mein erster Testcode:

PHP:
<?php  

$db_handle = pg_connect("host=localhost port=5432 dbname=photo user=admin password=***");  

if (!$db_handle) {   
echo "Connection failed!";
die();
} else {
echo "Connection correct!";
}

?>

Bringt "connection failed"

Muss ich noch irgendwelche Pfad-Umleitungen einrichten?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Die erste Frage wäre: hat sich PG denn überhaupt an den TCP Socket auf dem erwarteten Port gebunden?
Code:
netstat -tunlp | grep :5432
Könnte mir gut vorstellen, dass PG nur auf einem UNIX Socket lauscht. Lass in dem Fall die Angaben zu Host und Port weg und probiers nochmal. Denn per default sollte pg_connect() versuchen den UNIX Socket zu erreichen
Lass dir im Fehlerfall auch immer die Variable ausgeben, also
PHP:
if (!$db_handle) {
 var_dump($db_handle);
 die('Connection failed');
} else {
 ...
}
 

Speil

Benutzer
Mitglied seit
03. Jun 2013
Beiträge
14
Punkte für Reaktionen
0
Punkte
7
Weglassen von host und Port bringen keine Verbesserung

Die code-Änderung mit var_dump gibt mir jetzt eine leere seite aus
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
hmh eine leere Seite sollte nicht sein. var_dump() sollte in jedem Fall was ausgeben. Bist du sicher, dass dein Testcode keinen Syntaxfehler hat und du allenfalls die Ausgabe von Fehlermeldungen unterdrückt hast?
 

Speil

Benutzer
Mitglied seit
03. Jun 2013
Beiträge
14
Punkte für Reaktionen
0
Punkte
7
Argh, error reporting wär natürlich was

Warning: pg_connect(): PostgreSQL is not a open service. in /volume1/web/bpotd/index.php on line 3 bool(false) Fatal error: Call to undefined function die() in /volume1/web/bpotd/index.php on line 7
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
hast du denn geschaut ob PG überhaupt am TCP Socket lauscht?
 

Speil

Benutzer
Mitglied seit
03. Jun 2013
Beiträge
14
Punkte für Reaktionen
0
Punkte
7
Habe die Datei jetzt unter "dsroot/usr/syno/synoman/phpsrc/phpPgAdmin/test.php" gespeichert und die Verbindung klappt.

Es lag also wohl an einer Umleitung in das phpsrc Verzeichnis die phpPgAdmin automatisch eingerichtet hat.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat