2014-04-18 21 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。