Начнём с того, что 500 - это код ответа сервера , который является обобщённым и говорит только о том, что произошла ошибка, но не говорит о самой ошибке.
Поэтому, первое что необходимо сделать - найти ошибку в логах, смотри «Где найти логи?»
Обрати внимание что возвращает 500 ошибку, Laravel или web-сервер (nginx, apache):
- если фреймворк, тогда смотри логи лары или включи debug mode
- если web-сервер, тогда смотри логи web-сервера, скорей всего проблема с конфигураций, а в случае с apache проблема чаще всего в .htaccess
Фреймворк возвращает 500 ошибку при любом исключении, кроме 404 (не найдено),
419 (неверный CSRF-токен), 422 (ошибка валидации),
401 (авторизация) и 403 (отказано в доступе).
Также вызов dd() вернёт 500 код.
Если ошибка произошла с AJAX-запросом, то в DevTools , на вкладке network, при условии что включён debug mode, также можно найти полное описание ошибки и стектрейс.
Рекомендую воспользоваться инструментом Telescope , для более удобного мониторинга запросов в процессе разработки. А для мониторинга ошибок в production - Sentry