2011-09-07 45 views
0

我有一個簡單的PHP exec命令,調用svnlook。如果我通過終端運行命令,我會得到我期望的所有輸出。如果我如下所示運行它,我只能得到最後一個項目。svnlook通過PHP給出一行

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

我可以緩衝輸出嗎?如果是這樣如何?這會有幫助嗎?

回答

1

這是由設計,並解釋說:

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回報的一切。