Auf Postgres DB vom web-Verzeichnis zugreifen

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Speil

Benutzer
Registriert
03. Juni 2013
Beiträge
14
Reaktionspunkte
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?
 
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 {
 ...
}
 
Weglassen von host und Port bringen keine Verbesserung

Die code-Änderung mit var_dump gibt mir jetzt eine leere seite aus
 
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?
 
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
 
hast du denn geschaut ob PG überhaupt am TCP Socket lauscht?
 
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