Ошибка 500 — это не причина, а общий статус

Сначала убедитесь, что сервер действительно отвечает 500, а не 502/503/504. Эти коды указывают на разные участки цепочки запроса.

Проверить код без браузера

BASH
curl -sS -L -o /dev/null   -w "HTTP=%{http_code} final=%{url_effective} time=%{time_total}s\n"   https://example.com/problem-page

500, 502, 503 и 504 — куда смотреть

КодЧто означает на практикеПервая проверка
500Приложение/сервер не обработал запросPHP/web log, config, permissions
502
ой ответ от upstreamPHP-FPM socket/port, service status
503Сервис временно недоступен/перегруженлимиты, maintenance, worker pool
504Upstream не ответил вовремядолгий PHP/SQL/API, timeout, нагрузка

На обычном хостинге или ISPmanager

Воспроизведите 500 и сразу откройте error log домена. Проверьте активную версию PHP и последние изменения. Если ошибка появилась после переключения PHP — временный возврат рабочей версии помогает восстановить сайт, но несовместимость всё равно нужно исправить.

ISPmanager / VPS: последние ошибки

BASH
sudo tail -n 100 /var/www/httpd-logs/example.com.error.log
sudo tail -n 100 /var/log/nginx/error.log
sudo tail -n 100 /var/log/apache2/error.log
sudo tail -n 100 /var/log/httpd/error_log

Безопасные проверки перед restart

BASH
sudo nginx -t
sudo apache2ctl configtest
sudo httpd -t

php -l /path/to/changed-file.php
df -h
df -i
free -h

Частые причины 500

  • Fatal/Parse error PHP;
  • несовместимый plugin/Extra после обновления;
  • неверная директива .htaccess или web-server config;
  • ошибка прав/владельца;
  • заполненный диск или inode;
  • исчерпанная память;
  • исключение приложения или ошибка БД.

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

Скачать набор диагностики

RuJul Site Diagnostics — один ZIP

Связанные инструкции

Первичная диагностика HTTP 500

При ошибке 500 запишите время, проблемный URL и действие, которое её вызывает. Проверьте журналы веб-сервера и PHP-FPM в тот же временной интервал; сам код 500 не раскрывает первопричину. Если ошибка возникла после обновления, сопоставьте версии PHP, расширений и недавно изменённых файлов. Не включайте показ внутренних ошибок для публичных посетителей: подробности диагностики должны оставаться в логах.

Перед откатом создайте резервную копию файлов и базы. Восстановление рабочей версии без анализа причин может лишь временно скрыть неисправность; после отката воспроизведите сценарий в тестовой среде.