<?PHP
exec("ffmpeg.exe -i something.mp4 -ss 1 -t 1 -r 1 -s 320x240 -y something.jpg");
?>
在調用服務器錯誤500 所有其他要求這個腳本的結果。 PHP 7.01,IIS 10.PHP Exec的(ffmpeg的)失敗IIS上的所有其他要求
我已經排除了問題可能與我的調用的具體ffmpeg參數有關。
執行時間是< 1秒以上,所以不能是PHP或IIS腳本執行超時。
無論一次「通話」到腳本和下一次通話之間經過多少時間,奇數編號的呼叫導致錯誤500,偶數編號的呼叫都很好。
請注意,當我說「呼叫」時,我實際上是指調用腳本(即http://server/script.php) - 而如果我在同一腳本中放置2,3或100次Exec調用,它們都會成功。
編輯:很隨機,我試圖通過在一個循環中調用相同的Exec(「ffmpeg等)行100次來觸發超時,令我驚訝的是,錯誤500消失了所以我刪除了循環,並添加了一個類似暫停加入電話睡覺(10):錯誤500倍的回報,它的瞬間 - 如服務器出現故障甚至解析它之前運行的腳本現在我完全失去了..
任何暗示
?
可能無關,但刪除'-t 1'並添加'-vframes 1'。由於您只輸出一個圖像,因此命令'失敗'並且其退出代碼不爲零。 – Mulvya
@Mulvya謝謝。然而,正如你所猜測的,沒有改變。我懷疑這可能是比其他更多的FastCgi設置問題... – resle