Установка и настройка
Как исследовать ошибку 500 в CMS
Безопасный порядок диагностики: воспроизведение, журнал, версия окружения, права и копия сайта. Почему нельзя включать вывод секретных деталей посетителям.
На этой странице
Зафиксируйте воспроизводимые условия
Ошибка 500 означает сбой обработки, но не объясняет причину. Запишите время, адрес страницы, роль пользователя и минимальные действия. Отдельно проверьте, возникает ли проблема у гостя, после входа или только при сохранении формы.
Например, открытие объекта может работать, а загрузка большой фотографии — завершаться ошибкой. В таком случае проверка пароля БД вряд ли объяснит различие: нужно изучить ограничения памяти, обработку изображения и доступ к временному каталогу.
Изучите закрытый журнал
CMS показывает посетителю безопасное сообщение, а технические подробности пишет в журнал сервера. Не включайте публичный вывод всех PHP-ошибок на рабочем сайте: исключение может содержать путь, структуру таблиц или другие ненужные посетителю сведения.
Сверьте версию PHP, расширения и состояние миграций. После замены исходников без обновления схемы запрос может обращаться к отсутствующей таблице. Для Smarty проверьте доступность каталога компиляции. Для статических файлов дополнительно проверьте непустое тело и правильный тип ответа.
Исправляйте причину на копии
Восстановите проблему в отдельной среде с безопасными тестовыми данными. Меняйте по одному связанному условию и повторяйте исходный сценарий. Не удаляйте произвольные таблицы или конфигурацию ради исчезновения сообщения.
После исправления проверьте соседние функции: вход, чтение страниц, сохранение и медиа. Запишите причину и проверенный результат. При передаче сведений разработчику удаляйте из журнала секреты и личные контакты; для начала достаточно безопасного кода, версии и последовательности воспроизведения, а не полного архива рабочего сайта.
Продолжить работу
Проверьте процедуру на отдельной копии сайта. Сопоставьте задачу с возможностями ядра. Другой материал этого раздела: Как сделать полезную файловую копию сайта.
