2015-06-03 3 views
2

У меня возникли проблемы с моим приложением, не загружая просмотры (иногда). Я запускаю сервер Debian с php-fpm и nginx (php5.6.8 и nginx 1.8.0) Оба скомпилированы из источника. Кроме того, я запускаю Lavavel 4.2.Не удалось загрузить ресурс: net :: ERR_INCOMPLETE_CHUNKED_ENCODING

До сих пор у меня была проблема как в Chrome, так и в Firefox (хром просто прекращает загрузку и показывает ошибку, 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 

Обратите внимание, что я установил пользователь folderuser, так как папка, где файлы для сайта расположены принадлежит folderuser (folderuser: WWW-данные). Кроме того, разрешения в папках laravel настроены как 755 (775 для кеша и загружают папки, чтобы www-данные могли записывать файлы кеша)

Я отключил любой серверный 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), я перепутал с настройками хрома, и я попробовал скрипт для laravel, ни один из которых не разрешил вопрос, который у меня есть. Обратите внимание, что проблема происходит случайными интервалами на случайных страницах на сайте.

Я действительно не знаю, каким будет следующий шаг к решению моей проблемы, так как решения, приведенные выше, являются единственными, которые я нашел в Интернете.

Я бы очень признателен за помощь.

Редактировать: У меня есть бета-версия того же приложения, который запускается с другого сервера с той же конфигурацией (разница только в оборудовании, больше памяти), проблема там не существует.

Кроме того, я забыл упомянуть, что приложение не работает с HTTPS (в настоящее время). Однако бета-версия работает с HTTPS.

Редактировать Сервер, на котором присутствует проблема, имеет ОЗУ 2048 МБ, бета-сервер имеет ОЗУ 8192 МБ.

Редактировать Я проверил ответ с помощью скрипача при возникновении ошибки, он просто отключает ответ в какой-то момент без причины.

ответ

8

Возможно, вы захотите проверить, принадлежит ли /var/lib/nginxwww-data. У меня была эта проблема: когда страница ответов была слишком большой, рабочий процесс Nginx пытался использовать эту папку и не удалось, поскольку она принадлежала nginx, а рабочий процесс выполнялся под www-data. Выполняя chown -R www-data:www-data /var/lib/nginx, проблема была исправлена.

+0

Большое спасибо, я потратил много часов, пытаясь понять это. У меня было много проблем, с которыми я столкнулся –

+0

То же самое дело, что я должен был обновить своего пользователя и группу в nginx.conf, но он был сброшен. –

0

Я видел аналогичную проблему на моем сервере Nginx, работающем на последнем Debian. Я запускаю сайт Wordpress с расширенными настраиваемыми полями. В расширенных настраиваемых полях говорится, что проблема может быть связана с значением max_input_vars в файле php.ini.Я увеличил свою стоимость с 1000 до 3000 и исправил проблему на одном из моих сайтов.

Вы можете проверить эту ссылку, чтобы узнать, не поможет ли она вам. http://www.advancedcustomfields.com/faq/limit-number-fields/

Смежные вопросы