2014-04-18 80 views
0

从PHP运行shell命令是这样做的外壳命令:PHP文件执行与连续输出

<?php 
$cmd = 'du /'; 
print shell_exec ($cmd); 
?> 

或者

<?php 
$cmd = 'du /'; 
passthru ($cmd); 
?> 

但是你只能看到输出的时候工作完成,怎么办你会得到连续的输出?上面的du命令需要一段时间才能完成,我希望能看到输出结果。

我的用例是运行CD ripper和tagger ABCDE,我希望较少的技术人员能够去网页开始翻译工作,但能够看到其进展。

(最后,是有那么如果网页加载作业终止与屏幕或TMUX包裹这一种很好的方式不会)

+0

请参阅:http://www.php.net/manual/en/ref.outcontrol.php – Zoredache

回答

1

使用proc_open这一点。随着数据被写入流中,您可以单独读取stdout或stderr。