Laravel 4:哎呀库和set_cookie函数

时间:2013-05-07 21:24:28

标签: laravel laravel-4

我使用composer update更新到最新版本的Laravel 4。现在我遇到了它使用的错误处理库的问题 - 哎呀。当我的代码中出现错误时,例如语法错误会发生以下情况:

  1. 我重新加载页面
  2. 实际例外('意外xxxx at ...')出现不到一秒
  3. 另一个例外取代了它:

    Cannot modify header information - headers already sent by (output started at /Users/planewalker/Sites/jean/welper/vendor/filp/whoops/src/Whoops/Run.php:204)
    
  4. 上面一行的代码是:

            // 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',问题不再出现了。

2 个答案:

答案 0 :(得分:0)

您是否已编辑start.phppath.php以回显调试信息。在大多数情况下,这是问题所在。 因为在调用错误处理程序之前调用start.php,而在Laravel中调用每个输出标题。

答案 1 :(得分:0)

尝试更新Laravel 4:

composer update

应该修复此问题,您将收到引发的第一个异常。