我正在構建一個RAKEFILE,並且我想要在php生成的頁面執行時顯示輸出。如何使用php管理rake輸出?
我試圖使用system()
由於PHP文檔提到這一點:
的系統()調用也嘗試如果PHP運行作爲服務器模塊輸出的每一行後,自動刷新Web服務器的輸出緩衝區。
這似乎與多個外殼命令對應的工作,但是當我執行耙我只得到的第一行:
(in /Users/path/to/proj)
任何想法?
乾杯!
我正在構建一個RAKEFILE,並且我想要在php生成的頁面執行時顯示輸出。如何使用php管理rake輸出?
我試圖使用system()
由於PHP文檔提到這一點:
的系統()調用也嘗試如果PHP運行作爲服務器模塊輸出的每一行後,自動刷新Web服務器的輸出緩衝區。
這似乎與多個外殼命令對應的工作,但是當我執行耙我只得到的第一行:
(in /Users/path/to/proj)
任何想法?
乾杯!
如果PHP作爲服務器模塊運行,那麼system()調用也會嘗試在輸出的每行之後自動刷新Web服務器的輸出緩衝區。
這意味着您只會從返回值中獲得最後一行輸出。 system()手冊頁中的例子顯示了它,並且它建議使用passthru()來獲取原始輸出。我通常使用exec()。
嘗試使用exec()功能
exec($command, $output);
$輸出是一個數組
//retrieved data
for($out = '',$x = 0,$len = count($output); $x < $len; $x++) {
$out .= $output[$x] . "\r\n";
}
或簡單:
$out = join("\r\n", $output);
TURS出兩個功能system()
& exec()
實際工作。雖然使用--verbose時生成的耙子輸出未被考慮。這就是我困惑的原因。如果任何人有更廣泛的知識區分,請分享:)
nope,與passthru() – GreenDude 2011-06-16 06:32:42
相同的東西然後嘗試exec() – LeleDumbo 2011-06-16 08:43:02