質問

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 すべてを返します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top