我的应用程序在加载视图时遇到了一些问题(有时候)。 我正在使用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
请注意,我将user设置为folderuser,因为该站点文件所在的文件夹归folderuser所有(folderuser: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设置和我&#39我们尝试了一个laravel脚本,但没有一个解决了我遇到的问题。请注意,问题会在网站上的随机页面上随机发生。
我真的不知道解决问题的下一步是什么,因为上述解决方案是我在互联网上找到的唯一解决方案。
我真的很感激一些帮助。
编辑:我有一个相同应用程序的测试版运行另一台具有完全相同配置的服务器(唯一不同的是硬件,但内存更多),问题不存在。< / p>
另外,我忘了提到该应用程序不使用HTTPS(当前)运行。然而,测试版使用HTTPS运行。
编辑出现问题的服务器有2048 MB RAM,测试版服务器有8192 MB RAM。
编辑我在发生错误时检查了fiddler的响应,它只是在某些时候无缘无故地削减了响应。
答案 0 :(得分:9)
您可能想要检查文件夹/var/lib/nginx
是否也归www-data
所有。我遇到了这个问题,当响应页面太大时,Nginx工作进程尝试使用此文件夹并失败,因为它由nginx
拥有,而工作进程在www-data
下运行。通过chown -R www-data:www-data /var/lib/nginx
,问题得到解决。
答案 1 :(得分:0)
我在最近的Debian上运行的Nginx Server上看到了类似的问题。我正在运行安装了高级自定义字段的Wordpress站点。在高级自定义字段上,它表示问题可能与php.ini文件中的max_input_vars值有关。我将我的价值从1000增加到3000并修复了我的一个网站上的问题。
您可以查看此链接,看看它是否对您有所帮助。 http://www.advancedcustomfields.com/faq/limit-number-fields/
答案 2 :(得分:0)
如果将来有人发现这个,我的 net::ERR_INCOMPLETE_CHUNKED_ENCODING
是因为空间不足。查看您的磁盘使用情况,看看是否是这个原因!