Postgres

Status
Für weitere Antworten geschlossen.

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
hi leutz,

kennt sich jemand gut mit Postgres aus?

Folgendes Problem: mein PHP-Skript, um auf die Blog-Postgres-Pages zuzugreifen läuft in folgendem Verzeichnis einwandfrei: /usr/syno/synoman/phpsrc. Sobald ich das ins Verzeichnis /volume1/web schiebe, sagt mit die Postgres-Connect-Funktion, das ich auf den Service nicht zugreifen kann. Ist das gleiche Skript, die gleiche Datenbank, der gleiche Apache-Web-Server (user-apache).

Mache ich einen ln -s /usr/syno/synoman/phpsrc/skript.php /volume1/web/skript.php, dann funktioniert es auch. Muss wohl irgendwie an den Pfaden liegen. Aber ich seh nichts in den Konfigurationsdateien, was mir das Verhalten wirklich erklärt.

Hat jemand eine Idee und kann mir erklären woran es liegt?

itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
imho ist das kein Problem von Postgres sondern irgendeine Einstellungssache des Servers resp php. Ist ja das gleiche wie bei der Photostation: Deren Verzeichnisse liegen auch unter phpsrc und laufen aber auf dem User Apachen. Kann es sein, dass es die Doc Root Direktive in der php.ini ist?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Das werde ich nochmal prüfen.

Allerdings laufen tun die php-Skripte mit normalen php-Anweisungen und mit mysql-Zugriffs-Anweisungen in beiden Verzeichnissen fehlerfrei, es ist nur die postgres-connect-Funktion, die halt im Verzeichnis /volume1/web Probleme bereitet.

itari
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
ES ist ganz schlimm .... nachdem ich mir doch ein paar Stunden Zeit genommen habe, um diesen Fehler zu entdecken, habe ich in letzter Verzweiflung in der PHP-Exec (/lib/libphp5.so) nach einer Erklärung gesucht und bin fündig geworden:

Rich (BBCode):
/usr/syno/synoman/phpsrc/
PostgreSQL is not a open service.

Da ist die Fehlermeldung zusammen mit dem Pfad!

Was bedeutet das? Die Synology-Entwickler möchten verhindern, dass jemand mit der Postgres-Datenbank spielt und haben den PHP-Postgres-Datenbank-Connect per PHP-Apache-Server-Modul nur zugelassen für PHP-Skripte, die sich im Verzeichnis /usr/syno/synoman/phpsrc befinden. Alle Skripte außerhalb des Pfades bekommen eine Fehlermeldung.

Man könnte also mit einem Nicht-Synology-Apachen beliebig auf die Postgres-DB, aber nicht per PHP-Skript, welches unter dem Syno-Apachen laufen. Letztere dürfen nur dann auf die Postgres-DB, wenn sie sich innerhlab des oben angegeben Verzeichnisses befinden. Was nun kein wirkliches Hindernis ist (per sym-Link), aber schon etwas abenteuerlich.

itari
 

fora

Benutzer
Mitglied seit
13. Feb 2010
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
PostgreSQL is not a open service.

Hi
I don't understand german, but I can see that some of the topics here has the same 'lyrics', so I hope someone here can help me ?
Please answer in english.

I have just made a postgrep database, and can also open it (psql through a ssh connection).

But I am not able to connect to it from a php script. When I write the pg_connect() command the web page responds with :
Warning: pg_connect() [function.pg-connect]: PostgreSQL is not a open service. in /volume1/web/index.php on line 2 connection attempt failed

??
Does anybody know why. Is it not possible to use the postgrep databases on the synology ?
 

Tscheggi

Benutzer
Mitglied seit
16. Okt 2009
Beiträge
108
Punkte für Reaktionen
2
Punkte
18
Hallo,

ich bin auf diesen älteren Beitrag gestossen, da ich auch vor einem kleinen Problem stehe und nicht mehr weiterkomme.
In der Photostation werden die location-tags nicht direkt aus dem Bild gelesen/geschrieben, sondern direkt in die Datenbank abgestellt.
Da meine 20000 Bilder alle mit Ortsdaten getagged sind, bin ich dabei per php das Ganze auszulesen und die Datenbank der photostation entsprechend aufzubauen.

Mein Problem ist nun der Zugriff auf die postgres Datenbank.
Vom web-Ordner geht es nicht wie oben beschrieben.
Das Ganze aus dem /usr/syno/synoman/phpsrc wäre nicht so dramatisch, die Frage ist nur wie ?
Ich hab meine php-Datei dort hinkopiert, jedoch kann ich sie nicht aufrufen.
Der Browser meldet immer "Seite nicht gefunden".

Muss ich noch irgendwo etwas einstellen, damit mein PHP-Script im Pfad /usr/syno/synoman/phpsrc aufgerufen werden kann ?

Danke schonmal für Eure Unterstützung
 

Tscheggi

Benutzer
Mitglied seit
16. Okt 2009
Beiträge
108
Punkte für Reaktionen
2
Punkte
18
So bin einen kleinen Schritt weiter.
Die Photostation liegt aktuell nicht mehr wie am Anfang des Beitrages in /usr/syno/synoman/phpsrc/photo, sondern in /volume1/@appstore/Photostation/

Aber den Zugriff auf die Postgres-Datenbank bekomm ich trotzdem nicht hin.
Der Zugriff über das phppgadmin klappt wunderbar, aber auch wenn ich das Script aus diesem Ordner ausführe, klappt es nicht :-(

Ich hoffe, irgendjemand hat mir noch nen Tip
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
kannst du das Script lokal direkt auf der Konsole ohne Fehler ausführen?
 

Tscheggi

Benutzer
Mitglied seit
16. Okt 2009
Beiträge
108
Punkte für Reaktionen
2
Punkte
18
Seltsam : Nachdem ich beim connect den "localhost" durch die IP ersetzt hatte und anschliessend wieder zurück auf "localhost" geändert hatte, hats funktioniert.

Danke !
 
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