Laravel 5.1.1 LTS:不完整的分块编码

时间:2015-06-13 13:40:35

标签: php apache .htaccess laravel laravel-5

我见过很多这些报道,但没有关于最近的laravel 5.1.1(LTS)。刚刚开始使用新应用,我在请求app.local/时收到以下错误:

  

获取http://app.local/ net :: ERR_INCOMPLETE_CHUNKED_ENCODING

它得出这个结论只需5秒钟。

现在,这基本上是一个全新的安装 - 我只进行了以下更改:

  1. 使用FallbackResource代替mod_rewrite将请求发送至index.php
  2. 将应用程序路径设置为/../name.application/bootstrap/autoload.php中的index.php(已移动appconfig等到name.application目录。
  3. 在向域的根目录发送请求时,我才会收到上述错误 - 即app.local/。有一个现有的路由,它被设置为返回“Hello”(return response('Hello'))。该响应立即显示,但页面继续加载5秒钟,然后控制台抛出该错误。

    如果我请求/test,响应很快,我没有收到错误。

    看起来,这是一个Laravel问题,我不太确定它来自哪里。这不是.htaccess问题,因为恢复我的更改没有任何区别。或者,它可能是一个Apache问题,但事实并非如此。

    作为参考,我在Windows 8.1上使用PHP 5.6运行Apache 2.4。

    此问题不仅限于Chrome,就像之前版本的其他人一样。

    任何指导都将不胜感激。

    更新:在相同的VirtualHost上进行测试后,Laravel 4.2似乎也在做同样的事情。事实上,这可能是服务器问题吗?

3 个答案:

答案 0 :(得分:2)

在查看答案here并意识到这是一个奇怪的问题后,我尝试回归正常的mod_rewrite方法,并开始按预期工作。

有趣的是,这并没有在第一次发生,这就是问题发布的原因。

因此,这很可能是服务器问题。使用我的问题中描述的设置从生产服务器运行应用程序非常有效。

答案 1 :(得分:1)

我没有足够的声誉来评论,这是所有这些保证,而不是回应。通常,这与服务器或应用程序级别的缓存有关。假设这是一个完全默认的安装(没有app.php配置),需要检查的事项:

文件权限。默认情况下,Laravel将使用基于“文件”的缓存:http://laravel.com/docs/5.1/cache

某些服务器配置中的文件权限不正确会导致此问题(请参阅此处设置正确的权限:http://laravel.com/docs/5.1/installation#basic-configuration)。如果权限正确,请交换到数据库缓存,看看是否有所不同(您需要创建架构)。

Apache错误日志。同样的情况,如果Laravel正在传输一些输出然后索引失败,可能是这里的一些信息。

如果是非标准的Laravel安装,知道你配置的内容会有帮助吗?

答案 2 :(得分:-1)

请注意,.local TLD会针对多播DNS(Bonjour等)进行重新保存 https://en.wikipedia.org/wiki/.local

编辑:

  

如果多播DNS软件与实现本地顶级DNS域的网络结合使用,则可能会出现名称解析问题。

http://laravel.io/forum/02-08-2014-another-problem-only-with-chrome?page=1#reply-15185

  

看起来这是来自Chrome标志,"内置异步DNS"。您可以导航到Chrome / Chromium中的chrome://标记,将此标记设置为"禁用"并重新启动浏览器。在此之后,本地主机将像魅力一样工作。

可能是相关的,也可能不是,但会阻止未来的DNS问题......