【问题标题】:Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING加载资源失败:net::ERR_INCOMPLETE_CHUNKED_ENCODING
【发布时间】:2015-08-17 12:43:17
【问题描述】:

我的应用程序(有时)无法加载视图时遇到了一些问题。 我正在使用 php-fpm 和 nginx(php5.6.8 和 nginx 1.8.0)运行 Debian 服务器,两者都是从源代码编译的。最重要的是,我正在运行 Lavavel 4.2。

到目前为止,我在 Chrome 和 Firefox 中都遇到了问题(chrome 只是停止加载并显示错误,firefox 不显示错误但显示视图的不完整版本)。

到目前为止,我已经检查了 nginx 和 PHP 的权限,它们都以同一个用户 (www-data:www-data) 运行。 我的 php-fpm 套接字配置为:

[sitename]

listen = /var/run/php5-fpm/sitename.sock
listen.backlog = -1
listen.owner = www-data
listen.group = www-data
listen.mode=0660

; Unix user/group of processes
user = folderuser
group = www-data

; Choose how the process manager will control the number of child processes.
pm = dynamic
pm.max_children = 75
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500

; Pass environment variables
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

请注意,我将用户设置为文件夹用户,因为该站点文件所在的文件夹归文件夹用户所有(文件夹用户:www-data)。 此外,laravel文件夹内的权限配置为755(775用于缓存和上传文件夹,以便www-data可以写入缓存文件)

我已禁用任何类型的服务器端 php 缓存(zend opcache 除外)。

我也试过在chrome中禁用“预取资源以更快地加载页面”功能,但没有解决问题。

作为最后的手段,我尝试了这个解决方案:

/*
|--------------------------------------------------------------------------
| Fix for Chrome / PHP 5.4 issue
| http://laravel.io/forum/02-08-2014-another-problem-only-with-chrome
|--------------------------------------------------------------------------
*/

App::after(function($request, $response)
{

    $content = $response->getContent();

    $contentLength = strlen($content);

    $response->header('Content-Length', $contentLength);

});

还有这个脚本的一些变体,但我遇到了一些内容长度不匹配的问题(比net::ERR_INCOMPLETE_CHUNKED_ENCODING 错误更常见。

总结一下,我已经检查了服务器端的权限和用户/组设置,我已经禁用了服务器端缓存(zend 除外),我已经搞砸了 chrome 设置,我已经尝试了 laravel 的脚本,这些都没有解决我遇到的问题。请注意,该问题在网站上的随机页面上以随机间隔发生。

我真的不知道解决我的问题的下一步是什么,因为上面的解决方案是我在互联网上找到的唯一解决方案。

非常感谢您的帮助。

编辑:我有一个相同应用程序的测试版在另一台服务器上运行,配置完全相同(唯一的区别在于硬件,但内存更大),问题不存在。

另外,我忘了提到该应用程序不使用 HTTPS 运行(当前)。但是,测试版使用 HTTPS 运行。

编辑存在问题的服务器有 2048 MB RAM,测试版服务器有 8192 MB RAM。

编辑当错误发生时,我用 fiddler 检查了响应,它只是在某个时候无缘无故地切断了响应。

【问题讨论】:

    标签: google-chrome laravel nginx debian php-5.6


    【解决方案1】:

    我在运行最新 Debian 的 Nginx 服务器上看到了类似的问题。我正在运行一个安装了高级自定义字段的 Wordpress 站点。在高级自定义字段中,它表示问题可能与 php.ini 文件中的 max_input_vars 值有关。我将我的价值从 1000 增加到 3000,这解决了我的一个网站上的问题。

    您可以查看此链接,看看它是否对您有帮助。 http://www.advancedcustomfields.com/faq/limit-number-fields/

    【讨论】:

      【解决方案2】:

      您可能想检查文件夹/var/lib/nginx 是否也归www-data 所有。我遇到的问题是,当响应页面太大时,Nginx 工作进程尝试使用此文件夹并失败,因为它归nginx 所有,并且工作进程在www-data 下运行。通过chown -R www-data:www-data /var/lib/nginx,问题得到解决。

      【讨论】:

      • 非常感谢,我花了很多时间试图弄清楚这一点。它解决了我面临的很多问题
      • 我也必须在 nginx.conf 中更新我的用户和组,它正在重置。
      【解决方案3】:

      如果以后有人发现这个,我的net::ERR_INCOMPLETE_CHUNKED_ENCODING 是因为空间不足。看看你的磁盘使用情况,看看是不是这个原因!

      【讨论】:

      猜你喜欢
      • 2014-04-08
      • 2019-08-22
      • 2014-06-24
      • 2018-10-10
      • 2014-07-06
      • 2014-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多