从PHP exec()实时捕获bash输出

时间:2016-11-04 18:46:18

标签: php bash gruntjs

我正在运行一个命令:

exec("grunt build --target=prod", $output, $status);

这只是在文件夹中运行grunt并构建它。捕获的输出没有问题。然而,它最终全部被抛弃,而grunt构建可能需要一些时间。

我想知道我是否可以在输出时捕获输出并能够实时回显它。

知道这是不是一件事?

1 个答案:

答案 0 :(得分:0)

您应该使用system()代替,以便捕获您已经运行的命令的输出...

如果您将调用分配给变量,您将获得输出的最后一行,您还将获得整个输出,请参阅:

$lastLine = system("grunt build --target=prod", $output);
print_r($output); // to get entire output

output_buffering一起,您可以一次刷新一行输出。