Laravel错误:ob_end_flush():无法发送zlib输出压缩缓冲区(0)

时间:2014-05-28 15:27:51

标签: php symfony laravel laravel-4

每次出现错误时,例如:尝试访问非对象的属性,我收到此消息:

  

ob_end_flush():无法发送zlib输出压缩缓冲区(0)

打开:/home/admin/domains/mysite/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Response.php

$previous = null;
$obStatus = ob_get_status(1);
while (($level = ob_get_level()) > 0 && $level !== $previous) {
    $previous = $level;
    if ($obStatus[$level - 1]) {
        if (version_compare(PHP_VERSION, '5.4', '>=')) {
            if (isset($obStatus[$level - 1]['flags']) && ($obStatus[$level - 1]['flags'] & PHP_OUTPUT_HANDLER_REMOVABLE)) {
                ob_end_flush();
            }
        }
    }
}

我尝试设置php.ini

zlib.output_compression = Off
zlib.output_handler =

但它没有帮助。

我正在使用Laravel 4.1

有谁知道如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

如果您在视图中使用@secction,请在该部分下方使用@stop来停止部分区域

答案 1 :(得分:0)

不确定这是否有帮助,但是我遇到了这个问题,并以为我会为我分享修复该问题的内容,但有同样的错误。这是由于尝试设置通过节调用传入的空变量引起的。要解决此问题,只需使用isset检查。

@isset($var)
  @section('header', $var)
@endisset

答案 2 :(得分:0)

不确定是否对任何人有帮助,我在创建pdf时使用laravel收到此错误。解决方案是将控制器中返回的2个数据变量添加到view-pdf.blade.php。