所以我讀這篇文章通過量:https://trac.ffmpeg.org/wiki/PHP ,發現這個:了shell_exec echo'ing過快或過晚
<?php
echo "Starting ffmpeg...\n\n";
echo shell_exec("ffmpeg -i input.avi output.avi >/dev/null 2>/dev/null &");
echo "Done.\n";
代碼工作幾乎完全正常,但困擾我的唯一的事情是,因爲shell_exec正在後臺執行(所以在整個時間內沒有加載標籤),所有的回顯正在立即執行。這意味着,在ffmpeg完成任務之前,「完成」回顯正在寫入。
但是當我刪除「&」該網站還做什麼它打算做的,但現在卻等到了shell_exec完成,直到它呼應的開展「開始的ffmpeg ...」
所以我還挺有問題想辦法如何得到這樣一個順序:
1)迴應的東西 2)執行commad並等到它完成。 3)再次回聲
我是一個初學PHP的人,但總體編程經驗豐富。請憐憫。
謝謝你的時間!
使用與在命令結束後將立即返回(並在後臺運行的進程)這就是爲什麼在頁面加載和顯示最終echo語句命令的輸出完成之前。這個答案給出了一種方法來啓動任務,無需等待完成,並且還可以查詢轉換的進度http://stackoverflow.com/a/6245461/2543650 – Legion