我有一个简单的php exec命令,可以调用svnlook。如果我通过终端运行命令,我得到了我期望的所有输出。如果我如下所示运行它,我只会得到最后一项。
$list = exec("svnlook changed -r ".$urlCleaned." ".$SVNEXPORT);
echo $list;
我可以缓冲输出吗?如果是这样的话?这会有帮助吗?
答案 0 :(得分: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
会返回所有内容。