shp2pgsql auf fremdem Server

Konfiguration des PostgreSQL Datenbankservers.

shp2pgsql auf fremdem Server

Beitragvon erpelinho » Mo 22. Mär 2010, 20:46

Hallo,

meine PHP-Dateien und Skripte usw liegen auf nem Webserver an dem ich nix ändern kann.
Die PostGreSQL-Datenbank befindet sich auf meinem Laptop.

Beides zusammen ergibt meine Web-Anwendung :-)
Dazu sei gesagt, dass es bisher alles auf dem Laptop lief und dabei auch keine Probleme auftraten.

Nun möchte ich im PHP-Skript das Programm shp2pgsql ausführen.
Meine test.php sieht grad so aus:
Code: Alles auswählen
$shp2pgsql = "C:/webserver/postgresql/bin/shp2pgsql -s 4326 ../../points.shp schema.table > ../../points.shp.sql";
passthru($shp2pgsql, $retVal);
print $retVal;


Kann das überhaupt klappen?
Die PHP-Datei liegt ja auf dem fremden Server, also sucht er auch dort nach "C:/webserver/postgresql/bin/shp2pgsql..." oder? Bekomme als Rückgabewert immer 127, konnte aber nicht rausfinden, ob das nun an falschen Rechten, oder an nem komplett falschen Pfad liegt.

Also:
a) Kann das überhaupt klappen oder sucht der nur auf dem Server nach dem Programm?
b) Liegt das dann an falschen Rechten oder falscher Pfad oder was anderes?

Vielen Dank schon mal
erpelinho
Neuer Benutzer
 
Beiträge: 13
Registriert: Mo 4. Jan 2010, 01:07

Beitragvon Gisman » Di 23. Mär 2010, 10:13

Unter Linux würde ich dir sagen, das du die Ausgabe von shp2pgsql in psql pipen sollst, das dann auch die Verbindung zu einem entfernten Server aufbauen kann und das SQL dort ausführt. Prinzipiell sollte das irgendwie auch unter Windows und PHP funktionieren, leider kann ich dir nicht sagen wie ;)

Nachtrag: Liegt das shp2pgsql und die Daten auf dem Datenbank-Laptop? Dann müsste dein PHP eigentlich nur den oben genannten Vorgang auf dem Server anstossen? Oder soll das vom PHP auf den anderen Server übertragen werden? Dann könntest du pgsql und shp2pgsql auf den PHP-Server legen und das alles dort ausführen lassen.

Grüssle Uwe
Have a lot of fun!
Gisman
Erfahrener Benutzer
 
Beiträge: 863
Registriert: Fr 20. Jan 2006, 16:30
Wohnort: Pfalz

Beitragvon akretschmer » Di 23. Mär 2010, 10:23

erpelinho hat geschrieben:Hallo,

meine PHP-Dateien und Skripte usw liegen auf nem Webserver an dem ich nix ändern kann.
Die PostGreSQL-Datenbank befindet sich auf meinem Laptop.


Kann das überhaupt klappen?
Die PHP-Datei liegt ja auf dem fremden Server, also sucht er auch dort nach "C:/webserver/postgresql/bin/shp2pgsql..." oder? Bekomme als Rückgabewert immer 127, konnte aber nicht rausfinden, ob das nun an falschen Rechten, oder an nem komplett falschen Pfad liegt.

Also:
a) Kann das überhaupt klappen oder sucht der nur auf dem Server nach dem Programm?


Nein. Ja.

b) Liegt das dann an falschen Rechten oder falscher Pfad oder was anderes?

Nein. Ja.

Vielen Dank schon mal


Kann so nicht gehen. Das PHP wird vom Webserver ausgeführt, dieser hat (hoffentlich) keinen Zugriff auf Dein lokales C:. Mal abgesehen von der Möglichkeit, einen hinreichend abgehangenen Internet-Explodierer zu nehmen und eine der vielen Sicherheitslücken dort auszunutzen ...

Andreas
--
ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)

https://www.xing.com/profile/Andreas_Kretschmer7
Hosting-Provider mit PostgreSQL-Support gesucht? Mich fragen!
akretschmer
Erfahrener Benutzer
 
Beiträge: 5938
Registriert: So 29. Okt 2006, 14:35
Wohnort: Kaufbach, Sachsen, Germany, Germany

Beitragvon erpelinho » Di 23. Mär 2010, 18:21

Hm okay das dachte ich mir ja schon.. dann belass ich es ersma dabei :-)

Danke
erpelinho
Neuer Benutzer
 
Beiträge: 13
Registriert: Mo 4. Jan 2010, 01:07


Zurück zu Konfiguration

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast