問題のシナリオ: ffmpeg を使用してファイルをトランスコードします。
問題の説明: PHP を使用して、exec()、passthru()、system() の 3 つのメソッドを通じてターミナル ffmpeg コマンドを呼び出し、トランスコーディングを実現します
コードは次のとおりです:
ターミナルでこの php ファイルを実行すると、通常どおりトランスコードできます
ただし、Web 経由でこのファイルにアクセスすると、トランスコードできません。なぜ? ?
以前はffmpegのフルパスが書かれておらず、passthru()のステータスコードはコマンドが見つからなかったというものでしたが、Web上でアクセスすると実行が成功しなかったことを示す1が返されるようになりました。
で php ファイルを直接実行すると、ステータスは 0 になり、実行は成功します。
ffmpeg のユーザー権限に問題がある可能性はありますか? Web に表示されるユーザーは www-data です
ターミナルは root です
。緊急です、緊急です。 。 。
私の兄はモバイル開発に携わっていますが、私はこれに詳しくなく、よくグーグルで調べましたが、理由も解決策も見つかりませんでした---
返信内容:
問題の説明: PHP を使用して、exec()、passthru()、system() の 3 つのメソッドを通じてターミナル ffmpeg コマンドを呼び出し、トランスコーディングを実現します
コードは次のとおりです:
リーリー
ただし、Web 経由でこのファイルにアクセスすると、トランスコードできません。なぜ? ?
以前はffmpegのフルパスが書かれておらず、passthru()のステータスコードはコマンドが見つからなかったというものでしたが、Web上でアクセスすると実行が成功しなかったことを示す1が返されるようになりました。
で php ファイルを直接実行すると、ステータスは 0 になり、実行は成功します。
ffmpeg のユーザー権限に問題がある可能性はありますか? Web に表示されるユーザーは www-data です
ターミナルは root です
これまでにこのようなことをしたことがありません。この状況の理由は何ですか? 。 。 。
私の兄はモバイル開発に携わっていますが、私はこれに詳しくなく、よくグーグルで調べましたが、理由も解決策も見つかりませんでした---
------! ! ! ! ! ! ! ! ! ! ! ! !
ターミナルでは root ユーザーを使用しています。このユーザーには無敵の権限がありますが、Web でのユーザー権限は制限されています。