Laravel ошибка 500 - это общий симптом: приложение не смогло отдать страницу, но точная причина обычно находится в логах.

На практике 500 появляется после деплоя, переноса на сервер, изменения .env, обновления зависимостей или правки кода.

Когда это становится срочной задачей

Срочно чинить нужно, если сайт или админка недоступны, API перестал отвечать, формы не отправляются или после деплоя пользователи видят белый экран.

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

  • ошибка в .env или отсутствует APP_KEY
  • нет прав на storage и bootstrap/cache
  • не подключается база данных
  • старый config cache
  • не установлены composer-зависимости
  • исключение в коде, middleware или service provider

Как я проверяю проблему

  1. Проверяю laravel.log и ошибку веб-сервера.
  2. Сверяю .env, APP_KEY, режим APP_DEBUG и подключение к базе.
  3. Проверяю права storage и bootstrap/cache.
  4. Очищаю кеш конфигурации корректными командами.
  5. Проверяю composer, миграции и конкретный маршрут.

Что лучше не делать

  • включать APP_DEBUG=true на публичном сайте надолго
  • выдавать права 777 без понимания
  • чистить кеш, не сохранив ошибку
  • менять .env наугад
  • деплоить поверх production без бэкапа

Что входит в работу

Я нахожу реальную причину Laravel 500 по логам и окружению, затем исправляю минимально нужную часть: .env, права, кеш, зависимости или код.

  • исправленная ошибка 500
  • проверка логов и окружения
  • корректные права на директории Laravel
  • очищенный и пересобранный кеш
  • рекомендации по деплою

Что подготовить перед обращением

  • ссылку на сайт, страницу, админку или проект, где видна проблема
  • скриншот, текст ошибки, лог или пример поведения
  • что меняли перед появлением проблемы
  • доступы только к тем частям, которые нужны для диагностики
  • приоритет: срочно восстановить работу или спокойно разобраться в причине

Сроки

Типовая ошибка .env или прав30-90 минут
Проблема деплоя1-3 часа
Ошибка в кодепосле просмотра логов

Вопрос-ответ

Можно ли сразу включить debug?

Можно кратко для диагностики, но нельзя оставлять подробные ошибки видимыми пользователям.

Почему локально работает, а на сервере 500?

Обычно отличаются .env, права, версия PHP, composer-зависимости или база.

Что нужно прислать?

Лог Laravel, ошибку веб-сервера, версию PHP и описание последнего изменения.

Итог

Laravel ошибка 500 решается быстро, когда есть лог и доступ к окружению. Угадывать причину по белому экрану бесполезно.

Нужна похожая задача? Напишите в Telegram: @rabotator_support. Коротко опишите симптом, пришлите ссылку или лог, и я предложу понятный план исправления без лишней бюрократии.