Краткий ответ: HTTP 500 — это приложение, говорящее «я упало», и ответ всегда в логе ошибок. Проверьте лог веб-сервера и лог PHP-FPM, воспроизведите запрос и прочитайте новейшие строки: синтаксическая ошибка, фатальное исключение, проблема прав или сломанный .htaccess будут названы там явно.
Обзор
В отличие от 502/504 (приложение не ответило), 500 означает, что приложение ответило «internal error». Причина в вашем коде, конфигурации или правах — и она залогирована. Гадание без логов тратит время; чтение решает большинство 500-х за минуты.
Что нужно иметь
- Доступ по SSH и понимание своего стека (nginx+PHP-FPM, Apache, под панелью...).
Пошаговая инструкция
- Смотрите логи, воспроизводя ошибку:
(Apache:sudo tail -f /var/log/nginx/error.log /var/log/php8.3-fpm.log/var/log/apache2/error.log; панели держат по-сайтовые логи в своём каталоге.) - Перезагрузите проблемную страницу и прочитайте новейшую запись — PHP-фаталы называют файл и строку.
- Откатите последнее изменение: деплой, обновление плагина/темы или правка конфига непосредственно перед 500 — причина, пока не доказано обратное.
- Проверьте права/владельца, если файлы копировались от root:
sudo chown -R www-data:www-data /var/www/yoursite - Для WordPress (плагины, .htaccess, лимит памяти) — отдельный гайд по WordPress 500.
- Проверка синтаксиса конфига после правок:
sudo nginx -t
Типичные проблемы
- Пустой лог ошибок: вы читаете не тот лог — проверьте, какой vhost обслуживает домен.
- 500 только на некоторых URL: rewrite-правила или конкретный скрипт — лог всё равно их назовёт.
- Полный диск: приложения падают на полпути и бросают 500 — проверьте
df -hсразу. - Рассинхрон версии PHP после обновления: старый код + новый PHP = фаталы; выровняйте версию по сайту.
Когда обращаться в поддержку
Код приложения на unmanaged-сервере — на стороне клиента, но если логи указывают на платформу (ошибки хранилища, ресурсы) или вы вообще не можете добраться до логов, — откройте тикет с точным URL, временем и выдержкой из лога.
Частые вопросы
Где найти причину ошибки 500?
В логах ошибок веб-сервера и PHP — 500 всегда логируются с деталями. Используйте tail -f на логах, перезагружая проблемную страницу; новейшая запись назовёт файл, строку или правило, которое упало.
500 появилась сразу после обновления — совпадение?
Почти никогда. Деплой, плагин, тема или изменение конфига непосредственно перед ошибкой — причина, пока не доказано обратное. Сначала откатите, потом спокойно разберитесь с несовместимостью.
Похожие статьи
- Как исправить ошибку 500 в WordPress
- Сайт выдаёт 502 Bad Gateway
- Сайт выдаёт 504 Gateway Timeout
- Как собрать логи для поддержки
Нужна помощь? Связаться с поддержкой Cloud2Y →
