从shell_exec()获取输出和退出状态

时间:2009-12-21 18:22:49

标签: php

做类似

的事情
$output = shell_exec("command 2>&1");

收集命令的标准输出& $output中的stderr,有没有办法找到命令的退出状态?

可以将命令输出写入临时文件,然后附加退出状态,但这是相当笨重的。还有更好的建议吗?

3 个答案:

答案 0 :(得分:38)

正如您已经看到的,当使用shell_exec时,您必须使用echo $链接“真实”命令?获得退出状态:

 $output_including_status = shell_exec("command 2>&1; echo $?");

但是如果你想要干净的方式,那么你想要使用exec函数,它允许第三个文章明确用于此目的。

答案 1 :(得分:11)

使用exec()popen()(+手动处理流程)。

答案 2 :(得分:1)

以下为我使用exec()来显示输出

exec(your_command, $output, $return_var);
var_dump($output);
var_dump($return_var);