这只发生在Google Chrome和Chromium上,全新安装了Laravel。
页面显示为空白,在控制台中显示:
(失败)net :: ERR_INCOMPLETE_CHUNKED_ENCODING
而不是显示“你已经到达。”的默认hello视图。
我的服务器是带有ISPConfig,Apache 2.2和PHP 5.4的Debian Wheezy
有谁知道如何解决这个问题?
答案 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响应是一个单独的类型,可能仍然存在分块问题,因此此解决方案可能需要进行一些调整以适应这种情况。