Laravel错误:ob_end_flush(对象结束刷新):无法发送zlib输出压缩的缓冲区(0)

zpqajqem  于 2023-02-25  发布在  其他
关注(0)|答案(5)|浏览(208)

每当我出现错误时,例如:尝试访问非对象的属性时,收到以下消息:
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
有人知道怎么解决这个问题吗?

2jcobegt

2jcobegt1#

如果您在视图中使用@ section,则在截面下方使用@stop可停止截面区域

vxf3dgd4

vxf3dgd42#

不知道这是否有帮助,但我遇到了这个问题,我想我会分享什么修复了它,与相同的错误。它是由试图设置一个空变量通过一个节调用传入。要修复它只需使用isset检查。

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

piv4azn73#

不知道这是否对任何人有帮助,我在创建PDF时使用Laravel收到了这个错误。解决方法是添加2个数据变量,这些变量在控制器中返回到视图-pdf.blade.php。

dojqjjoe

dojqjjoe4#

检查blade文件中是否缺少@end之类的@endsection语句。

nwlls2ji

nwlls2ji5#

这个错误发生在生产环境中,如果你使用Laravel的任何版本,这是很容易修复的,我通过编辑env文件解决了这个问题,确保你设置生产而不是本地APP_ENV=生产这对我来说是有效的。

相关问题