好吧,现在我已经深入了一点,我意识到这是一个愚蠢的问题,而且是错误的。事实证明,我维护的遗留代码的作者正在使用一条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
)