Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Не работает сайт из-за ошибки 504 nginx (timeout)

Внезапно подкралась проблема. Отключил публичную часть. Восстанавливаю базу данных из резервной копии (иначе вообще сайт не работает). Около двух минут работает, потом начинаются проблемы. Админка так и не открывается - 504 nginx, а на фронте сначала 504, а потом контент отдается неполностью. Кеш в системе хранится в mysql, процессы для сайта выполняются одной строкой каждую минуту в кроне, кеширование также настроено в админке сайта через мемкешед.

 

Обратился к специалисту по настройке серверов. Он проверил логи и написал:

 

[Thu Dec 12 03:14:10.927000 2019] [php7:error] [pid 10386] [client 52.57.30.158:36746] PHP Fatal error: Maximum execution time of 120 seconds exceeded in <путь>/system/3rd_party/JShrink/Minifier.php on line 279

 

Ну, это какая-то приблуда которая что-то там минифицирует. А ошибка возникает когда за 120 секунд скрипт не успевает принять в обработку всю строку из которой надо выбрать только 1 символ. Там функция $char = substr($this->input, $this->index, 1);

 

Т.е. записать в $char то, что является подстрокой от $this->input начиная с $this->index и длиной в 1 символ

 

https://www.php.net/manual/ru/function.substr.php

 

В настоящее время не могу даже отключить сторонние плагины и приложения в админке, либо сбросить кеш с помощью стороннего плагина в админке. Сразу ошибка 504. Из аминки могу пытаться что-то отключать, но не спасает. При этом дикая нагрузка на http, если смотреть команду top в консоли, именно от этого сайта.

 

Как решить проблему?

 

4.4.7.

Изменено пользователем Zero108

Рекомендованные сообщения

  • Автор

Попробовал восстановление, деактивировало все сторонние приложения, затем написало, что сейчас мы вас переадресуем. Далее опять 504 nginx.

 

В system logs не могу сейчас заглянуть, админцентр недоступен. А сразу после восстановления резервной копии ошибок нет. Могу дать доступ к папке сайта по ssh. Там же есть и логи апача.

Изменено пользователем Zero108

  • Автор

Проблема решена переездом на 4.4.9. Установщик выдал, что директории

/applications

/plugins

/uploads/logs

имели права 755, а для установщика нужно было 777.

 

Также недавно ставили на этот же пхп 7.1.33 другой сайт, для которого опция mbstring.func_overload имела значение 2 в обязательном порядке. Установщик выдал, что нужно поменять эту настройку на 0:

 

The PHP configuration has mbstring.func_overload set with a value higher than 0. You should contact your hosting provider or system administrator to disable Multibyte function overloading.

 

Сделали доступным для пользователя этот параметр, потом поменяли обработчик на CGI и выставив 0 в настройках пхп в ISP manager.

 

Возможно, из-за этой переменной неправильно работал сайт, так как видимые проблемы начались как раз после установки параметра mbstring.func_overload равным 2.

Изменено пользователем Zero108

Возможно, из-за этой переменной неправильно работал сайт, так как видимые проблемы начались как раз после установки параметра mbstring.func_overload равным 2.

Есть несколько тем по этому поводу.

Даже Ваша

  • Автор

Ага, тема семилетней давности. Для Битрикса вот значение должно быть 2. А для IPB подавай 0. Кто же знал то и помнил?!))

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.