2012-09-14 75 views
3

上工作,我有下面的命令,如果我通過PHP文件http://localhost/myfile.php執行不會窗口服務器2008年的PHP

它將輸出CMD但input_file.txt不產生運行它。

$cmd = "ffmpeg.exe -i C:\\ep-convert\\To_the_Beautiful_You_9.264 2> input_file.txt"; 
exec($cmd); 
echo $cmd; 

但是,如果我複製這是

ffmpeg.exe -i C:\ep-convert\To_the_Beautiful_You_9.264 2> input_file.txt 

屏幕上的命令輸出和我貼這個控制檯,它的工作。

的問題是,如果我運行像mencoder的或mplayer的其他等exe文件的輸出顯示,不過只是具體地,本ffmpeg.exe似乎不符合我的exec()

什麼可能出了錯運行如何讓exec與上面的cmd一起工作。

我正在運行窗口服務器2008

+0

嘗試添加ffmpeg.exe的完整路徑? – andrewsi

+0

我試過,但它似乎無法控制ffmpeg.exe,以前的代碼工程。只是突然它沒有。 –

+0

Windows對允許訪問IIS用戶帳戶的可執行文件的權限非常挑剔。您可能需要檢查Web服務器帳戶是否具有正確的權限。我認爲你會得到一個錯誤,也許還檢查你有php錯誤報告暫時打開,所以你可以看到是否有一個實際的錯誤? – Jason

回答

0

這很可能是文件權限問題。僅僅因爲您以管理員身份運行控制檯,您可以從控制檯運行此命令。 IIS有不同的用戶帳戶。訪問其他文件默認是受限制的。您必須爲該用戶授予特定目錄的權限。您只需右鍵單擊文件夾,然後單擊屬性。轉到安全選項卡並編輯權限。