现在我已经深入了解了一些,意识到这是一个愚蠢和错误的问题。原来我维护的遗留代码的作者使用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)