SSH2 exec über PHP

  • Guten Abend,


    Ich habe mir eine schöne SSH2 Klasse in PHP programmiert welche fantastisch funktioniert.
    Doch leider möchte mein Script bzw. der Befehl keine Datei ausführen. Rechte sind gesetzt und die Benutzer-Umgebung stimmt auch. Hier mal ein kleiner Ausschnitt:


    Code
    $ssh->Connect($result['serverip'],$result['sshport']);
    $ssh->Auth($result['sshuser'],$result['sshpassword']);
    ....
    $ssh->Input("chmod +x datei.sh");


    soweit so gut, aber wenn ich nun


    Code
    $home = '$HOME';
    $ssh->Input("$home/datei.sh");


    ausführe, tut sich gar nichts. Ich weiß nicht wieso: Alles wurde überprüft und der Syntax sowie die Befehle funktionieren, wenn ich es manuell eingebe, aber leider nicht über PHP. Hat jemand Vorschläge? Wäre sehr dankbar!


    Mit freundlichen Grüßen
    Eray Sönmez

  • Ich vermute mal PHP führt Befehle als Apache User (wwwrun oder so aus) und der hat kein Zugriff auf $home. Hast du mal versucht die Datei an einen anderen Ort zu legen und dort auszuführen?

  • hallo Tobi,


    nein, Apache2 führt die Befehle als den angegebenen Unix User aus. mkdir sowie touch usw... werden ja auch durch den ausgeführt. Und $home muss ich als '$HOME'; definieren, damit PHP diesen als String weiterverarbeiten kann. mkdir $home/user/blabla funktioniert aber das ausführen einer Datei leider nicht und ich weiß nicht wieso.


    An einem anderen Ort hat der Unix-User eh keine Rechte, nützt mir also wenig ;)
    Trotzdem danke für deinen Vorschlag.


    Mit freundlichen Grüßen
    Eray Sönmez

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!