2013-01-18 95 views
0

的命令是FFMPEG工作在命令行而不是在執行exec(),它會返回127

ffmpeg -i path/to/video.avi path/to/video.mpg 

和正常工作的命令行。但是,當我用PHP exec()調用它時,返回值是127,它似乎沒有檢測到FFMPEG。我究竟做錯了什麼?我在本地主機,安全模式關閉,但我是FFMPEG和exec()新手,所以它可能是一個noob錯誤。提前致謝。

+0

exec是否啓用?安全模式?你檢查Apache日誌? –

+0

如果你使用'exec()'/ usr/bin/ffmpeg? – hek2mgl

+0

使用ffmpeg的完整路徑 - 無論帳戶在運行PHP顯然沒有它的路徑。 – ethrbunny

回答

2

嘗試

exec(/path/to/ffmpeg -i path/to/video.avi path/to/video.mpg); 
+0

就是這樣!路徑是'/ usr/local/bin/ffmpeg'(我有Mac OSX Lion)。非常感謝。 – Sophivorus

+1

沒問題。通常,當您使用exec()時得到127個代碼,這意味着PHP無法找到您正在嘗試調用的程序。 – Kyle

0

你註冊的ffmpeg命令在Linux/Windows的一個PATH環境變量????看起來你並沒有將它設置爲PATH變量,這就是爲什麼你必須包含FFMPEG命令的完整路徑,以便它能夠爲你工作。

相關問題