ssh2_exec output erst wenn befehl ausgeführt

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ssh2_exec output erst wenn befehl ausgeführt

    Hallo leute,

    ich arbeite immoment mit ssh_exec() um ein script auf einem anderen Rootserver auszuführen.

    Ansich ja kein problem, Verbindung aufgebaut, befehl ausgeführt, output wird per if vergleich und dann der status ausgegeben ...

    funktioniert auch ... doch jetzt tritt ein Problem auf:
    ab und zu sowie wenn man zu schnell aktualisiert, scheint die Ausgabe zu spinnen.

    Das script (welches per ssh_exec gestartet wird) gibt nach erfolgreicher ausführung per echo
    Code:
    online
    aus welches dann in die Variable
    Code:
    $output_script
    geladen wird.
    Die Variable
    Code:
    $status = "online"
    Die if funktion sieht wie folgt aus:
    PHP Code:
    if(strcmp ($output_script$status) > 0){
    echo 
    "online";
    } else {
    echo 
    "offline";

    Normalerweise funktioniert der Output richtig ung online wird angezeigt.
    Aber wenn halt wie oben beschrieben zu schnell oder einfach per zufall aktualisiert wird, kann es vorkommen, das er trotzdem offline anzeigt.

    Nun habe ich gelesen, das es die Möglichkeit gibt den output so zu steuern, das dieser erst nach erfolgreicher Ausführung des comands kommt.

    Diese Funktion nutze ich zum ausführen des scripts
    PHP Code:
    function exec_over_ssh($hostip,$hostport,$hostuser,$hostsave,$hostcommand){
    $connection ssh2_connect($hostip,$hostport)
    ssh2_auth_password($connection,$hostuser,$hostsave)
    $stream ssh2_exec($connection,$hostcommand,FALSE)
    stream_set_blocking($streamtrue);
    $data "";
    while(
    $buffer fread($stream,4096)) {
          
    $data .= $buffer;
          return 
    $data;
    }
    fclose($stream);

    Oder kann es sein, das die if-abfrage das Problem ist?

    Ich danke euch jetzt schonmal für die Antworten

    mfg

  • #2
    fclose nach return?

    Comment


    • #3
      ... ok ... hat sich somit erledigt

      Comment

      Working...
      X