さて、もう少し詳しく調べてみると、これはばかげた質問であり、間違っていることがわかりました。私が保守しているレガシー コードの作成者が、php_init
ステートメントを使用してエラー ログを別のファイルにハイジャックしていたことが判明しました。出力バッファリングがオンになると同時にハイジャックが発生したため、出力バッファリングがエラー メッセージを破棄しているように見えました。
では、モデレーターさん、これは削除していただいてもかまいません。誠意を持って答えてくれた人に感謝します。
次の PHP スクリプトがあるとします。
<?php
error_log('test');
ob_start();
error_log('test2');
ob_end_flush();
?>
次のエラー ログ出力が表示されます。
[04-Feb-2010 11:30:38] test
出力バッファリングがエラー メッセージを大量に消費するのはなぜですか? どうすればやめさせることができますか?
または、出力バッファからメッセージを密輸する別の方法はありますか?それとも単なるブラック ホールですか?
(PHPを使用5.2.4-2ubuntu5.10
)