我有一个简单的php exec命令,它调用svnlook。如果我通过终端运行该命令,我会得到我期望的所有输出。如果我按如下所示运行它,我只得到最后一项。
$list = exec("svnlook changed -r ".$urlCleaned." ".$SVNEXPORT);
echo $list;我可以缓冲输出吗?如果是这样的话,是怎么做的?这会有帮助吗?
发布于 2011-09-07 21:41:45
这是经过设计的,并解释了:
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返回所有内容。
https://stackoverflow.com/questions/7334816
复制相似问题