我使用composer update更新到最新版本的Laravel 4。现在我遇到了它使用的错误处理库的问题 - 哎呀。当我的代码中出现错误时,例如语法错误会发生以下情况:
另一个例外取代了它:
Cannot modify header information - headers already sent by (output started at /Users/planewalker/Sites/jean/welper/vendor/filp/whoops/src/Whoops/Run.php:204)
上面一行的代码是:
// If we're allowed to, send output generated by handlers directly
// to the output, otherwise, return it so that it may be used by
// the caller.
if($this->writeToOutput()) {
echo $output;
}
return $output;
,更具体地说是echo $output;
部分。
有谁知道为什么会这样?
更新:
我现在已确定问题是由set_cookie函数与Whoops库的异常输出结合引起的。似乎在Whoops库开始输出其视图后调用了set_cookie函数。
我找到的唯一解决方案是使用'cookie'的其他会话驱动程序。我已经切换到使用'native',问题不再出现了。
答案 0 :(得分:0)
您是否已编辑start.php
或path.php
以回显调试信息。在大多数情况下,这是问题所在。
因为在调用错误处理程序之前调用start.php,而在Laravel中调用每个输出标题。
答案 1 :(得分:0)
尝试更新Laravel 4:
composer update
应该修复此问题,您将收到引发的第一个异常。