2011-01-19 5 views
6

私はどこでも良い答えを見つけることができないようです。出力バッファリングを実行していて、die()が実行された場合は、ob_end_flush()も同様ですか?die()はob_end_flush()を実行しますか?

+2

スクリプトが終了したときに待機中のバッファが表示されます(CLIまたはHTTPが死ぬか死ぬか)。私はそれが文書化されているかどうか、および/または設定可能かどうかわかりません。マニュアルで明示的に参照するのは興味深いことに同意します。 –

答えて

12

はい、あります。スクリプトが正常に終了すると、バッファは空になります。セグメント化されていないか、それが強制終了された場合(シグナル9 SIG_KILL)は、非優雅なエンディングだけです。 die()がプロセスを強制終了させる唯一の場所は、register_shutdown_functionの中で呼び出す場合です(ただし、シャットダウン関数が呼び出される前にバッファがフラッシュされるため、問題はありません)。いくつかの詳細については、Connection Handlingを参照してください。

関連する問題