我自己的PHP框架解析这样的文件以获取内容:
ob_start();
include($file);
$content = ob_get_clean();
但是,现在我正在使用自己的error_handler
来显示错误页面,如果发生任何错误,即使它在解析的模板中感兴趣,就像上面演示的代码片段一样。
有趣的是,当代码执行因例如错误而死亡时,所包含的模板的内容将被打印到浏览器中。这当然使我的错误页面看起来很糟糕。
打开输出缓冲区是否阻止打印内容?
特别是因为ob_get_clean()应该在解析后清除内容。
为什么会这样?
如果我没有遇到错误,网站就会按预期运作。
如何解决此问题?
答案 0 :(得分:0)
我想我遇到了同样的问题。尝试使用ob_clean():
try {
$app = new App($some_config);
$app->run();
}
catch (Exception $e) {
ob_clean();
// Display your error page.
}