2011-02-10 8 views
0

こんにちは私は、bashスクリプトからコマンドラインでPHPスクリプトを実行しています。私は2つのPHPファイルに1つのファイルを追加することができます。しかし、標準のPHP error_logファイルにエラーを送信できるかどうかは疑問でした。bash exec stderror stdout to normal php error_log

exec nohup php $PHP_SCRIPT_PATH 2>> $LOG_PATH & EPID=$! 

また、私がPHPのerror_logファイルに書き込もうとすると、書き込み権限があります。

次の2つのプロセスから同じファイルに書き込むので、あなたはあなたの許可の問題は、これは動作しません管理します場合でもおかげで、 スティーブ

+2

PHPの通常のエラーログはWebサーバーのユーザーIDの下に作成される可能性がありますので、そのIDで実行するか、ログファイルのアクセス許可を付与するか(666にする)、ログファイルのグループに自分自身を追加し、 (x6x) –

+0

@Marc Bのコメントでは、 '6'は実際に読み込まれます*と*書き込みに注意してください。ログファイル(あらゆる種類のものがそこにスローされ、パスワードなど)からの読み取りを防止する良い理由があります。所有者全員にとって、誰もが書き込むだけで、 '0622'を使用します。 – DanielM

答えて

0

。これは、おそらくerror_logにガベージを生成します。

PHPがerror_logに書き込まれないようにする必要があります。代わりに、STDERRに書き込むようにPHPを設定する必要があります。そして、出力を単一のファイルにリダイレクトすることができます。