Opencartmaster.ru

Ошибка 500 в OpenCart: как найти причину

Ошибка выглядит как на скриншоте или просто как белый экран

Ошибка 500 Opencart

Что такое 500 Internal Server Error?

Существует пять разных классов кодов состояния HTTP, которые определяют тип ответа сервера на HTTP-запрос:

  • 1xx: Информационный
  • 2xx: Успех
  • 3xx: Перенаправление
  • 4xx: Ошибка клиента
  • 5xx: Ошибка сервера

Сложность в отношении ошибки 500 заключается в том, что сервер не может обработать ваш запрос для доступа к странице или веб-сайту по неизвестной причине. На первый взгляд, вы понятия не имеете, что происходит, и где можно найти проблему, не говоря уже о том, как ее исправить.

Когда возникает ошибка?

В 99,99% случаев страницу с кодом ответа 500 мы видим из-за ошибок в файлах и наших кривых рук.

Наиболее частая причина — переезд\включение ssl. Вторая по расрпостранённости — манипуляции с чпу Опенкарта. Третья — кривые модули.

Еще может быть, вы неправильно сконфигурировали свой .htaccess файл? Или, может быть, у вас отсутствуют пакеты при попытке выполнить файл PHP, в то время как PHP не установлен правильно и работает некорректная версия?

Для этого очень трудно получить точный ответ, поскольку каждый случай отличается.

Алгоритм действий

Обновите страницу, очистите кеш браузера, удалите cookies

Находим код ответа страницы

Если выводится просто пустая страница — это не всегда признак ошибки 500. Поэтому в первую очередь узнаем код ответа, с которым она открывается. Для этого воспользуемся инструментами разработчика, встроенными в каждый браузер. Они помогут нам узнать код ответа страницы, время ответа и, в некоторых случаях, посмотреть текст ошибки.

Показываю, как это делать в  Mozilla Firefox. Нажмите сочетание клавиш Ctrl+Shift+I или кнопку F12. Либо через меню «Веб-разработка» > «Инструменты разработчика»

Ошибка 500 в OpenCart: как найти причину
Перейдите во вкладку «Сеть (Network)». Теперь выберите тип документа щелкнув по пункту «HTML».На ошибку 500 указывает соответствующее число в колонке «Статус». На скриншоте сайт Википедии и он отдает код ответа 200.

Ошибка 500 Opencart

Если код ответа 200, значит проблема в верстке или модуле, восстановите бэкап или отключите последний добавленный модуль — должно помочь. Если код ошибки 500 переходим к следующему пункту.

Проверяем файл .htaccess

Типичная причина ошибки 500 — это файл htaccess. Отключим его, для этого переименуем .htaccess в  .htaccess.txt и проверим как работает сайт. Если, после этой манипуляции, он доступен(код ответа страниц 200), восстанавливаем htaccess из бэкапа.

Частый случай, когда забывают переименовать Options +FollowSymlinks на Options +SymLinksIfOwnerMatch.

Если дело не в htaccess, переходим к следующему пункту.

Проверяем файлы сайта

Вывод ошибок PHP на хостинге по умолчанию выключен. Чтобы увидеть их текст, добавьте в конец файла .htaccess правило:

и обновите страницу сайта.

Если текст ошибки не отобразился, включите вывод ошибок через index.php Opencart. Перейдите в корневой каталог своего магазина и отредактируйте файл index.php.

Ошибка 500 Opencart

Используйте свой любимый текстовый редактор и в верхней части index.php файла, вставьте этот фрагмент кода после первой строчки. Строго никаких лишних пробелов и переноса строки!

Ошибка 500 Opencart

Сохраните файл и вернитесь в магазин.

Обновите страницу, на которой вы столкнулись с ошибкой, и увидите примерно такое:

Ошибка 500 Opencart

Теперь понятно, что вызвало 500 Internal Server Error и точный поврежденный файл. Это дает вам отправную точку для поиска решения вашей ошибки. Можно начинать гуглить)

Если ничего не помогает

Редко встречается, но все же — некоторые модули или скрипты потребляют больше оперативной памяти, чем выделено хостингом. Встречается на некоторых дешевых или бесплатных тарифах.

Например, поднимем лимит до 512 мегабайт. Для этого добавляем в конец файла htaccess строчку:

Вместо «512» укажите необходимый объем памяти. Узнать максимально доступное значение можно в техподдержке хостинга.

Ошибка то возникает, то нет

Вот типичный пример:

Ошибка 500 Opencart

Такие ошибки очень сложно отследить, они могут возникать у отдельных пользователей при совершенно невинных операциях. Чтобы их выловить, включим журнал ошибок PHP, для этого добавим в конец файла htaccess директиву:

и сбрасываем кэш сайта.

Резюме

Ошибка возникает из-за манипуляций с файлами. Что бы ее убрать, сначала отменяем последнее внесенное изменение.Если не помогает, идем по алгоритму — очистка кэша, отключение htaccess, проверка логов ошибок.

Если у вас остались вопросы — пишите их в комментарии.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...