Problem mit system()

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit system()

    Ich habe ein Probblem mit der Funktion system().

    Diese gibt bei mir rein gar nichts aus.
    Obwohl im Manual dazu folgendes steht:

    "Die system() Funktionsaufrufe versuchen übrigens automatisch nach jeder Ausgabezeile den Ausgabebuffer des Webservers zu flushen, wenn PHP als Servermodul läuft.

    Gibt die letzte Zeile der Befehlsausgabe bei Erfolg, andernfalls FALSE zurück."


    Meine Zeilen sehen folgendermaßen aus:
    PHP-Code:
    $string=system("scp ".$basedir."lock/test.txt anderer.host.net:".$basdir."lock/test.txt");
    echo 
    $string;

    if(
    system("scp ".$basedir."lock/test.txt anderer.host.net:".$basedir."lock/test.txt")){ echo "scp erfolgreich";}
    else{ echo 
    "scp nicht erfolgreich";} 
    Als Ausgabe erfolgt immer 'scp erfolgreich' obwohl er nicht funktioniert, da ein Passwort gefordert wäre. Die Variable $string ist immer leer. Dabei müsste dort doch dann zumindest die Zeile 'wwwrun@anderer.host.net's password:' stehen.

    Woran liegt es, dass system nichts zurückliefert?

  • #2
    merke: die englische dokumentation is auf dem aktuelleren stand ..
    ab und an ändert sich halt etwas ..

    also:
    string system ( string command [, int return_var])
    PHP-Code:
    $string=system("scp ".$basedir."lock/test.txt anderer.host.net:".$basdir."lock/test.txt"1);
    echo 
    $sting

    fazit: schau gelegentlich in die englische doku .. besonders wenn etwas nicht mehr so will wies mal wahr ..
    mfg,
    [color=#0080c0]Coragon[/color]

    Kommentar


    • #3
      Das Problem bei der Sache ist, dass ich erstens noch eine alte PHP-Version habe, und zweitens folgendes eine Ausgabe hat:
      PHP-Code:
      $string=system("ls ".$basedir);
      echo 
      $string
      Dann werden mir alle Dateien aus dem Verzeichnis ausgegeben.

      Vielleicht liegt es ja aber auch an dem Programm scp und daran, dass es nicht funktioniert (Passwort erforderlich), dass nichts ausgegeben wird.

      Kommentar


      • #4
        ich weiß zwar nicht warum das passwort erforderlich sein sollte,
        aber du könntest ja den befehl "su user" einsetzen ..

        nicht vergessen das "su" wieder zu schließen ..

        denn die rechte hat ja dann der apache (beim modul zumindest)
        mfg,
        [color=#0080c0]Coragon[/color]

        Kommentar

        Lädt...
        X