1

奇妙な状況が発生しました。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関数は機能open_basedirし、PHP ini を webspace ルートに変更しました。

4

2 に答える 2

0

system() コマンドを試すことができます。サーバーからの応答が返されます

system("ffmpeg -i ".$target_path."".$hash_filename.".".$path_extension." -ab 96k -y ".$target_path."mp3/".$hash_filename."_".$session_ID.".mp3")

ffmpeg が現在のバージョンの php でサポートされていない場合、エラーが返されます。

また

コマンドを変更して、適切なパスで ffmpeg を取得できます。私の場合、以下のコードのように機能します

exec("/usr/local/bin/ffmpeg -i ".$target_path."".$hash_filename.".".$path_extension." -ab 96k -y ".$target_path."mp3/".$hash_filename."_".$session_ID.".mp3"))
于 2015-01-23T11:01:35.390 に答える
0

テール -f /var/log/apache2/error_log

そこに表示される内容をお知らせください...お使いのプラットフォームに合わせて調整してください...

これはランプ用です(opensuse)

于 2013-08-16T18:14:35.517 に答える