使用OB捕获错误?

时间:2010-08-09 13:02:57

标签: php ob-start

这是一个例子。是否可以保存输出缓冲区。我想缓存它的输出结果。

header('Content-type: text/css');
ob_start("compress");


function compress($buffer) {
    $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
    $buffer = str_replace(array("\r\n", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);
    return $buffer;
}


include('layout.css');
include('pages.css');
include('form.css');
include('global.css');

ob_end_flush();

2 个答案:

答案 0 :(得分:0)

您是否尝试查看错误日志?根据服务器的不同,您可以在存储它的vhost文件中找到此信息。这应该是你的第一行动作是查看Apache错误日志,因为它们应该显示任何错误。

例如,我将我设置为(在Ubuntu上)/var/log/apache2/sitename.error.log

答案 1 :(得分:0)

我认为您可能会在set_error_handler文档页面上考虑this comment中的内容:

但是,我会提出关于使用错误日志的第二个前提的评论。覆盖error_handling是不直观的,通常会导致更多的复杂性而不是我的经验中的有用性。

见:

两者都是PHP_INI_ALL,因此可以使用ini_set()或.htaccess以及全局配置位置在脚本中设置它们。