Page 1 of 1
[PHP] include shellscript von einem anderen Server
Posted: 2003-11-14 02:31
by jake
Hallo leute :-)
ich habe folgendes Problem:
eine PHP-Datei soll ein ShellScript includieren, was auf einem anderen Server liegt.
die PHP-Datei sieht so aus:
Code: Select all
<?php
$include_path="http://meineIPadresse/cgi-bin/";
@include ($include_path.'getservermessage.sh');
?>
das Shellscript was includiert wird (getservermessage.sh)
Code: Select all
#!/bin/sh
echo "Content-Type: text/html"
echo ""
echo "hallo"
Es soll nur wie hier zum beispiel "hallo" ausgegeben werden.
Aber folgendes kommt bei mir raus: "Ã?@@Ã M"
ich kann mir wirklich unter keinen Umständen vorstellen, womit das zu tun hat ;( bitte helft mir! is echt wichtig!
ich danke euch schonmal :-)
bis bald Jake
Re: [PHP] include shellscript von einem anderen Server
Posted: 2003-11-14 08:15
by cye
was zeigt denn dein browser wenn du auf :
tp://meineIPadresse/cgi-bin/getservermessage.sh gehst ?
Re: [PHP] include shellscript von einem anderen Server
Posted: 2003-11-14 16:35
by jake
da wird mir hallo angezeit
..... komisch ;/
Re: [PHP] include shellscript von einem anderen Server
Posted: 2003-11-14 18:30
by smur
Das is überhaupt nicht komisch sondern logisch. Das Skript wird serverseitig interpretiert. Willst du es inkludieren, dann entweder per NFS oder du musst die serverseitige Interpretation abschalten, was nur bedingt empfehlenswert ist.
Re: [PHP] include shellscript von einem anderen Server
Posted: 2003-11-14 19:15
by flo
Normalerweise sollte das funktionieren, sobald Deine Datei außerhalb Deines CGI-Verzeichnisses liegt. Im gut konfigurierten Normalfall werden CGIs nur dort interpretiert.
Grüße,
flo.
Re: [PHP] include shellscript von einem anderen Server
Posted: 2003-11-14 19:53
by jake
flo wrote:Normalerweise sollte das funktionieren, sobald Deine Datei außerhalb Deines CGI-Verzeichnisses liegt. Im gut konfigurierten Normalfall werden CGIs nur dort interpretiert.
Grüße,
flo.
welche datei muss außerhalb meines CGIs liegen?
Wenn das ShellScript ausÃ?erhalb meines CGI-Bins liegt kann ich es ja nicht mehr außführen oder?
Re: [PHP] include shellscript von einem anderen Server
Posted: 2003-11-14 20:00
by smur
Soll es ja auch nicht. Du willst doch den Source includen und nicht die fertig interpretierte Ausgabe.
Das mit dem cgi-bin war früher sicherlich die Regel. Imho sind die meisten aber mittlerweile dazu übergegangen, ExecCGI im kompletten www Ordner zu erlauben.
Re: [PHP] include shellscript von einem anderen Server
Posted: 2003-11-14 20:09
by jake
ja gut, aber ich brauche ja nicht im ganzen www order CGI.
das problem ist, dass ich von einem webserver, wo ich nur einen ftp zugang habe und nix anderes prüfen muss, ob auf einem anderen rechner ein bestimmter prozess läuft.
Re: [PHP] include shellscript von einem anderen Server
Posted: 2003-11-14 21:22
by smur
jake wrote:ja gut, aber ich brauche ja nicht im ganzen www order CGI.
Hast du Zugriff auf die httpd.conf, dann schalte es ab(sofern aktiviert). Wenn nicht darfst du es evtl. abschalten via .htaccess. Ansonsten: keine Chance.
Nun aber mal ne Verständnissfrage: wieso musst du den Source von einem anderen Rechner inkluden um zu prüfen, ob dort ein Prozess läuft? Lass doch einfach dein Shell Skript j/n ausgeben und werte die Ausgabe aus.
Re: [PHP] include shellscript von einem anderen Server
Posted: 2003-11-14 22:17
by jake
also ... :-) ich habe mir das so gedacht:
das shellscript schaut in der prozessliste nach ob es einen prozess gibt.
wenn ja, soll es mir Online zurück geben, das mache ich in dem shellscript mit echo "Online".
in meinem phpscript includiert ich das shellscript an der stelle, wo cih online oder offline stehen habe. blos leider kommt halt das echo aus dem shellscript in ganz komischen zeichen an ... siehe oben...
ich bin am verzweifeln.
in welcher httpd.conf muss ich was ändern? auf dem webserver, oder auf meiner root kiste, wo ich das shellscript per cgi-bin freigegeben habe?
Re: [PHP] include shellscript von einem anderen Server
Posted: 2003-11-14 23:19
by smur
Hol dir doch einfach die Ausgabe mit wget o.Ã?. und werte die Datei aus.