質問
svnlookを呼び出す単純なphp execコマンドがあります。ターミナルからコマンドを実行すると、期待したすべての出力が得られます。以下のように実行すると、最後の項目のみが取得されます。
$list = exec("svnlook changed -r ".$urlCleaned." ".$SVNEXPORT);
echo $list;
出力をバッファリングできますか?もしそうならどうやって?そしてそれは役に立つでしょうか?
解決
これは仕様によるもので、次のように説明されています。
string exec ( string $command [, array &$output [, int &$return_var ]] )
戻り値
コマンドの結果の最後の行。コマンドを実行し、コマンドからのすべてのデータを干渉することなく直接返す必要がある場合は、
passthru()
関数。実行されたコマンドの出力を取得するには、必ず設定して使用してください。 出力 パラメータ。
http://php.net/manual/en/function.exec.php
exec("svnlook changed -r ".$urlCleaned." ".$SVNEXPORT, $output);
var_dump($output);
あるいは、 shell_exec
すべてを返します。
所属していません StackOverflow