在全新的Laravel安装中出现ERR_INCOMPLETE_CHUNKED_ENCODING错误

3

这种情况只会在使用Google Chrome和Chromium浏览器,以及全新安装的Laravel时出现。

页面显示为空白,在控制台中显示如下内容:

(failed) net::ERR_INCOMPLETE_CHUNKED_ENCODING

而不是默认的欢迎视图,“You have arrived.”

我的服务器是Debian Wheezy,使用ISPConfig、Apache 2.2和PHP 5.4。

有人知道该如何解决吗?


当您运行 curl -I 命令到您的 Laravel 主页时,会出现什么错误?这应该会显示头信息。 - Giacomo1968
它说:“curl: (52) 服务器返回空响应” - Emilio_Bravo
如果我不使用“-I”选项,它会输出HTML,并最终显示“curl: (18) transfer closed with outstanding read data remaining”。 - Emilio_Bravo
我正在使用Laravel 4.2,我已经尝试回到4.1版本,并且它可以正常工作。我该如何找到问题所在? - Emilio_Bravo
“我该如何找到问题所在?”你看到我发布的内容了吗?那是我能帮你的最多了。祝你好运! - Giacomo1968
请查看以下内容:https://dev59.com/JmAg5IYBdhLWcg3wjbdt - Sabrina Leggett
2个回答

2
在一台运行着nginx的Ubuntu 14.04 Vagrant虚拟机上,我遇到了同样的问题。该网站是一个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" failed (13: Permission denied) while reading upstream, client: 192.168.56.1, server: 192.168.56.102.xip.io, request: "GET /_debugbar/assets/javascript?1423122680 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "my-host", referrer: "http://url/that/fails"

我再次检查了Vagrant虚拟机中的nginx lib目录权限:ll /var/lib/ "英译中:"
“其中内部使用了'www-data'用户:'ll /var/lib/nginx/'”,因此我运行了以下命令:“chown -R www-data:www-data /var/lib/nginx”,然后Chrome中的错误消失了。我在这里发布通知解决方案,即使所有的荣誉都要归功于链接原始评论者。”

0

我曾经遇到和你一模一样的问题。我在这个论坛帖子上找到了一个解决方法: 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响应是单独的类型,仍然可能存在分块问题,因此此解决方案可能需要进行一定的改进以适应该问题。

1
我应该把这段代码放在哪里?我的 PHP 版本是 5.5,问题仍然存在。 - Black

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接