ホームページ  >  記事  >  バックエンド開発  >  php ffmpeg passthru() 関数は、ターミナルで php ファイルを実行する場合にはトランスコードできますが、Web 経由で php ファイルにアクセスする場合にはトランスコードできません。どのような理由? ?

php ffmpeg passthru() 関数は、ターミナルで php ファイルを実行する場合にはトランスコードできますが、Web 経由で php ファイルにアクセスする場合にはトランスコードできません。どのような理由? ?

WBOY
WBOYオリジナル
2016-08-29 08:35:481352ブラウズ

問題のシナリオ: ffmpeg を使用してファイルをトランスコードします。
問題の説明: PHP を使用して、exec()、passthru()、system() の 3 つのメソッドを通じてターミナル ffmpeg コマンドを呼び出し、トランスコーディングを実現します
コードは次のとおりです:

リーリー

ターミナルでこの php ファイルを実行すると、通常どおりトランスコードできます
ただし、Web 経由でこのファイルにアクセスすると、トランスコードできません。なぜ? ?
以前はffmpegのフルパスが書かれておらず、passthru()のステータスコードはコマンドが見つからなかったというものでしたが、Web上でアクセスすると実行が成功しなかったことを示す1が返されるようになりました。
で php ファイルを直接実行すると、ステータスは 0 になり、実行は成功します。
ffmpeg のユーザー権限に問題がある可能性はありますか?
Web に表示されるユーザーは www-data です
ターミナルは root です

これまでにこのようなことをしたことがありません。この状況の理由は何ですか? 。 。 。
。緊急です、緊急です。 。 。
私の兄はモバイル開発に携わっていますが、私はこれに詳しくなく、よくグーグルで調べましたが、理由も解決策も見つかりませんでした---

------! ! ! ! ! ! ! ! ! ! ! ! !

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。