2013-05-30 1086 views
1

我在我的php腳本中運行一個linux命令shell_exec()php-如何在執行命令時從linux終端獲取shell_exec()輸出?

$output = shell_exec('/usr/bin/linux-command '); 

After執行命令我正在把值變成一個變量。沒關係。
但是,這裏我的linux命令會給出輸出continuously in terminal
它會像這樣..

$linux-command 
123 456 789 
789 456 123 
123 456 789 .. //and so on..(by pressing 'Ctrl+c' only we can stop this. 

對於每5秒,將顯示一條線。如何每5秒檢索一次該行。
我的頁面正在被加載........因爲它正在等待$output
有什麼辦法可以解決我的問題嗎?
任何想法表示讚賞。謝謝你在前進

+1

見http://stackoverflow.com/questions/9791875/how-to-run-shell-script-with-live-feedback-from-php – devnull

回答

1

嘗試中繼功能。輸出直接顯示。你可以用這個小腳本來進行測試:

<?php 
passthru('tail -f /var/log/apache2/access.log'); 
?> 
+0

哼。 。爲什麼頁面正在加載??? ......沒有顯示任何內容.. @lexmihaylov 任何我不想直接輸出到網頁的方法。我想在**表** –

+0

的結果對不起,我認爲你是在談論一個CLI腳本而不是一個Web腳本。 – lexmihaylov

+0

嗯。你可以使用shell_exec($ command。'>'。$ filename。'2>'。$ filename。'&');並且在那之後只是用ajax方法獲得$ filename的內容,解析它並對它做些什麼? – lexmihaylov

0

您可以使用popen,檢查手冊瞭解更多詳情popen manual