とりわけ、system()
ffmpeg を呼び出してビデオをエンコードするために使用する PHP コードがいくつかあります。これをコマンド ラインから実行すると、PHP スクリプトの出力を通常の方法でファイルにリダイレクトできます -- php mycode.php > mycode.log
-- そして、PHP で呼び出した print ステートメントだけでなく、ffmpeg によって生成されたものも取得します。私が欲しい。すべて順調です。
しかし、ここで、Web ページを介してバックグラウンドで PHP スクリプトを起動したいと考えています。これを実行させるために、サイトでいくつかのことを行います。
$the_command = "/bin/php $php_file_name > $log_file_name &";
$the_result = system($the_command, $retval);
これにより、バックグラウンド PHP プロセスでスクリプトが正常に実行され、ビデオはまだ ffmpeg によってエンコードされています。ただし、リダイレクトされたログ ファイルで取得しているのは、スクリプト内の print ステートメントだけです。ffmpeg 呼び出しの出力は、どこかのエーテルに送信されています。これらをログファイルにも保存する方法はありますか?