#Признаки неисправности и область применимости
Перед изменением Nginx, Apache или PHP-FPM администратору Битрикс важно понять, где возникла ошибка: в самом приложении, PHP, веб-сервере или базе данных. Ниже безопасный порядок диагностики без включения вывода закрытых ошибок посетителям.
#Почему это происходит
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Ошибка приложенияБитрикс, модуль или обработчик выдаёт исключение или неверный результат. | Административная страница показывает предупреждение, но сервер доступен | Запишите путь, время и воспроизведение. |
| Ошибка PHP и обработчикаНеподходящая версия PHP, расширение или авария кода останавливает запрос. | HTTP 500, пустая страница, запись Fatal error | Сопоставьте журнал PHP со временем запроса. |
| Веб-сервер или базаУровень отказа определяет, какое место следует менять. | 502/504, обрывы, SQL-ошибки | Разделите веб-журналы, PHP-FPM и диагностику БД. |
#Пошаговая диагностика и устранение
- Соберите воспроизводимый примерОткройте сайт в обычном и приватном окне. Зафиксируйте точный адрес, время, действие, сообщение, тип пользователя и наличие проблемы для всех посетителей. Проверяйте без отправки логинов и токенов третьим лицам. На форме с заказами используйте тестовую запись.
- Уточните, что отвечает серверВ браузере нажмите F12 → вкладка «Сеть»; повторите действие, откройте главный запрос и запишите код ответа. 500 указывает на серверную ошибку, 502/504 часто связаны с прокси или обработчиком, а 403 может относиться к правам; по одному коду нельзя ставить диагноз.
- Просмотрите штатную проверку сайтаВ административной части найдите страницу проверки системы (название и расположение могут различаться по редакции). Выпишите только конкретные неуспешные тесты. Успешный общий тест не исключает ошибки одного модуля. Не нажимайте исправление параметров, пока не понятны последствия.
- Проверьте настройки журналирования БитриксЕсли установлен модуль «Монитор производительности», откройте «Настройки → Настройки продукта → Настройки модулей → Монитор производительности». При необходимости временно включите журнал предупреждений PHP на минимальный срок диагностики и сохраните исходное состояние настроек. Журнал содержит пути и данные — не открывайте его публично.
- Сопоставьте серверные журналыВ панели хостинга найдите журнал ошибок сайта и отдельный журнал PHP нужного пула. Сопоставьте секунды запроса с
Fatal error,Allowed memory size,upstream timed outили SQL-исключением; если журнал пуст, проверьте, что читаете записи именно того домена и PHP-обработчика.
- Проверьте синтаксис до перезапускаЕсли причина указывает на конфигурацию Nginx, прежде чем применять правку сделайте копию изменяемого файла. Из SSH на сервере выполните только проверку синтаксиса; при ошибке восстановите копию. Для Apache используйте его штатную проверку конфигурации; на управляемом хостинге лучше воспользоваться панелью.Linux · Терминал (Bash)КомандаНужен sudoТолько Linux с установленным Nginx; команда читает конфигурацию, ничего не перезапускает. Успех: syntax is ok и test is successful.
sudo nginx -t
- Меняйте одну установленную причинуПри найденном ошибочном модуле сначала воспроизведите проблему на копии сайта, отключите только его проблемную интеграцию или верните последнюю известную рабочую версию. Если причина в лимите PHP, сравните с реальным размером операции, а не увеличивайте все пределы одновременно.
- Снимите повторные показания после измененияПовторите тот же путь и действие, запишите новый HTTP-код и журнал за соответствующую минуту. Если проблема не устранена, восстановите резервную конфигурацию и передайте разработчику обезличенную запись, исключение и шаги воспроизведения.
#Как проверить, что проблема исправлена
После исправления воспроизводимое действие завершается без предупреждения; в сетевых запросах нет нового 500/502/504, в соответствующих журналах не появляются ошибки для того же времени, соседние страницы и оформление сайта работают.
#Если проблема осталась
Если ошибку видно только у авторизованных пользователей, проверьте права и сессионные механизмы. При расхождении браузера и журнала попросите хостинг уточнить, на каком узле обрабатывается запрос; не отключайте защиту и не показывайте посетителям подробный стек ошибок.