我有一個奇怪的情況剛剛發生。 FFMPEG不再是從PHP執行,而是從命令行執行。FFMPEG從命令行工作,但不是PHP
這裏的命令是什麼:
ffmpeg -i ../../uploads/ee78d5deb564901626067cc0008456ed.mp3 -ab 96k -y ../../uploads/mp3/ee78d5deb564901626067cc0008456ed_6203688.mp3
它是如何在PHP腳本執行:
if(! exec("ffmpeg -i ".$target_path."".$hash_filename.".".$path_extension." -ab 96k -y ".$target_path."mp3/".$hash_filename."_".$session_ID.".mp3")){
echo 'ffmpeg failed';
}
這條命令做了工作,但不再做。我最近更新了plesk,但我非常懷疑已經影響到了這一點。我認爲唯一可能影響到我最近完成的工作是將文件上載轉到子域。因此,文件所在的目錄和存儲在命令中的目錄位於文檔根目錄之外的目錄中。然而,move_uploaded_file
函數的工作原理和我已經將PHP ini中的open_basedir
更改爲web空間根。
您可以嘗試輸出錯誤$ error = array(); exec(「你的命令在這裏」,$ error);後續代碼var_dump($錯誤); – javijuol