0

Symfony2 ログをローテーションするための logrotate 構成ファイルを作成しています。何かを再起動する必要がありますか? 標準の Symfony2 アプリケーションでは、ログファイルのファイル記述子を開いたままにするものは見当たりません。

ログをローテーションするために私が思いついたのは次のとおりです。

/user/app/logs/*.log
{
    missingok
    notifempty
}

Symfony2 フレームワークを使用する実行時間の長いプロセス (デーモン) があった場合、ログのローテーション中にそのプロセスを再起動する必要があると思います。

4

1 に答える 1

1

PHP アプリケーションは「シェアード ナッシング」アプローチを使用します。すべてのページ ロードは、開いているファイル記述子などを使用せずにゼロから開始します。PHPエンジンがリクエストごとに再実行されないようにするFastCGIアプローチを使用している場合でも、これは依然として当てはまります。

いいえ、何も再起動する必要はありません。新しいリクエストは、余分な労力を必要とせずに新しいログ ファイルに出力されます。

これが当てはまらない 1 つの状況は、ワーカー プロセス (サービス キューなど) を使用する場合ですが、それを使用している場合は既に認識されていることです。

于 2012-07-07T04:08:11.867 に答える