Frage

Ich habe einen einfachen Befehl php exec, der svnlook aufruft.Wenn ich den Befehl über das Terminal ausführe, erhalte ich alle erwarteten Ausgaben.Wenn ich es wie unten gezeigt ausführe, erhalte ich nur das letzte Element.

$list = exec("svnlook changed -r ".$urlCleaned." ".$SVNEXPORT); 
echo $list;

Kann ich die Ausgabe puffern?Wenn das so ist, wie?Und wird das helfen?

War es hilfreich?

Lösung

Das ist beabsichtigt und wird erklärt:

string exec ( string $command [, array &$output [, int &$return_var ]] )

Rückgabewerte

Die letzte Zeile aus dem Ergebnis des Befehls.Wenn Sie einen Befehl ausführen müssen und alle Daten des Befehls ohne Störung direkt zurückgeben müssen, verwenden Sie die Funktion passthru().

Um die Ausgabe des ausgeführten Befehls zu erhalten, müssen Sie den Parameter output festlegen und verwenden.

http://php.net/manual/en/function.exec.php

exec("svnlook changed -r ".$urlCleaned." ".$SVNEXPORT, $output);
var_dump($output);

Alternativ gibt shell_exec alles zurück.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top