Перейти к публикации
View in the app

A better way to browse. Learn more.

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

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Не работает сайт из-за ошибки 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. Кто же знал то и помнил?!))

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

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.