【问题标题】:ERR_INCOMPLETE_CHUNKED_ENCODING on a fresh Laravel install全新 Laravel 安装上的 ERR_INCOMPLETE_CHUNKED_ENCODING
【发布时间】:2014-07-27 01:35:42
【问题描述】:

这只发生在全新安装 Laravel 的 Google Chrome 和 Chromium 上。

页面显示为空白,并在控制台中显示:

(失败)net::ERR_INCOMPLETE_CHUNKED_ENCODING

而不是显示“您已到达”的默认 hello 视图。

我的服务器是带有 ISPConfig、Apache 2.2 和 PHP 5.4 的 Debian Wheezy

有人知道我该如何解决这个问题吗?

【问题讨论】:

  • 当你在 Laravel 主页面运行 curl -I 时会出现这个错误?那应该显示标题。
  • 它说“curl: (52) Empty reply from server”
  • 如果我尝试不使用“-I”,它会吐出 HTML,最后“curl: (18) 传输已关闭,剩余未完成的读取数据”
  • 我正在使用 Laravel 4.2,我尝试回到 4.1 并且它可以工作。我怎样才能找到问题?
  • “我怎样才能找到问题?”看到我发的了吗?这是我能帮助你最多的。祝你好运!

标签: php apache google-chrome laravel chromium


【解决方案1】:

在运行 nginx 的 Ubuntu 14.04 Vagrant box 上遇到了同样的问题。该网站是一个 Laravel 5,有一天令人惊讶地开始抛出这些错误。

阅读此评论后: https://github.com/barryvdh/laravel-debugbar/issues/262#issuecomment-74385850

我检查了我的/var/log/nginx/vagrant.com-error.log.1 并看到:

[crit] 1020#0: *774 open() "/var/lib/nginx/fastcgi/3/03/0000000033" 在上游读取时失败(13:权限被拒绝),客户端:192.168.56.1,服务器: 192.168.56.102.xip.io,请求:“GET /_debugbar/assets/javascript?1423122680 HTTP/1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“my-host”,推荐人:“ http://url/that/fails"

仔细检查了我的 Vagrant box nginx lib 目录权限ll /var/lib/

drwxr-xr-x 7 root root 4096 feb 9 11:28 nginx/

... 内部使用 www-data 用户:ll /var/lib/nginx/

drwx----- 12 www-data root 4096 may 5 13:32 fastcgi/

于是我跑了:

chown -R www-data:www-data /var/lib/nginx

Chrome 中的错误消失了。

只是在这里发帖注意解决方案,即使所有学分都应该转到链接的原始评论。

【讨论】:

    【解决方案2】:

    我遇到了和你一样的问题。我在这个论坛帖子上找到了一个解决方法: http://laravel.io/forum/02-08-2014-another-problem-only-with-chrome

    提供解决方法的人使用的代码:http://laravel.io/bin/eyyDj#4,7 它的要点是直接告诉 Chrome 每次请求需要多少数据,因此它不必对数据进行分块。

    我看到报告说升级到 PHP 5.5 也可以解决这个问题,但并不是我们所有人都能对我们的服务器进行这种控制。

    编辑: 似乎盲目地应用此解决方法会导致重定向错误。这是我现在使用的代码:

    App::after(function($request, $response) {
        // Fixes a strange issue with Chrome. Should theoretically be removeable
        // after upgrading PHP to 5.5 from 5.4
        if ($response instanceof Illuminate\Http\Response) {
            $response->header('Content-Length', strlen($response->getOriginalContent()));
        }
    });
    

    请注意,JSON 响应是一种单独的类型,可能仍然存在分块问题,因此此解决方案可能需要进行一些改进以适应这种情况。

    【讨论】:

    • 我应该把这段代码放在哪里?我有 PHP 5.5,但问题仍然存在。
    猜你喜欢
    • 2021-01-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2014-07-08
    • 2015-07-03
    • 1970-01-01
    • 2015-10-17
    • 2015-07-08
    相关资源
    最近更新 更多