PHP输出缓冲区
我自己的PHP框架解析如下文件以获取内容:PHP输出缓冲区,php,debugging,output,Php,Debugging,Output,我自己的PHP框架解析如下文件以获取内容: ob_start(); include($file); $content = ob_get_clean(); 但是,现在我正在开发自己的错误处理程序,以便在模板中发生任何错误时显示错误页面,就像上面的代码段所示 有趣的是,当代码执行因错误而终止时,所包含模板的内容会打印到浏览器中。这当然让我的错误页面看起来很糟糕 打开输出缓冲区不应该阻止打印内容吗 特别是因为ob_get_clean()应该在解析内容后清除内容 为什么会这样 如果我没有遇到错误,网站
ob_start();
include($file);
$content = ob_get_clean();
但是,现在我正在开发自己的错误处理程序
,以便在模板中发生任何错误时显示错误页面,就像上面的代码段所示
有趣的是,当代码执行因错误而终止时,所包含模板的内容会打印到浏览器中。这当然让我的错误页面看起来很糟糕
打开输出缓冲区不应该阻止打印内容吗
特别是因为ob_get_clean()应该在解析内容后清除内容
为什么会这样
如果我没有遇到错误,网站将按预期运行
如何解决这个问题?我想我也遇到了同样的问题。尝试使用ob_clean()
您的意思是,
$file
包含要执行的代码,而不是被动标记或数据?$file主要包含正在打印的HTML内容。它是网站的HTML代码,当然也包含像循环和if条件这样的PHP代码。一个普通的网站视图,因为这是一个基于MVC模式的框架。
try {
$app = new App($some_config);
$app->run();
}
catch (Exception $e) {
ob_clean();
// Display your error page.
}