新的Laravel安装上的ERR_INCOMPLETE_CHUNKED_ENCODING

时间:2014-06-05 21:44:02

标签: php apache google-chrome laravel chromium

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

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

  

(失败)net :: ERR_INCOMPLETE_CHUNKED_ENCODING

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

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

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

2 个答案:

答案 0 :(得分:1)

在运行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并看到了:

  

[暴犯] 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框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中的错误消失了。

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

答案 1 :(得分: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响应是一个单独的类型,可能仍然存在分块问题,因此此解决方案可能需要进行一些调整以适应这种情况。