Ошибка 500 Internal Server Error: что означает и как исправить?
- Категория: Что делать (ошибки и проблемы)
- – Автор: Игорь (Администратор)
Как говорится, ничто не вечно в этом мире. Поэтому нет ничего удивительного в том, что периодически в сайтах возникают разные ошибки. И об одной из них, а конкретно об ошибке 500 Internal Server Error и пойдет речь в данном обзоре. Вы узнаете почему она возникает и что вы можете с этим сделать.
Что значит ошибка 500 Internal Server Error?
Ошибка 500 Internal Server Error (Внутренняя ошибка сервера) - это ошибка возникает тогда, когда сервер получил запрос пользователя, но столкнулся с неожиданной внутренней ошибкой, которая не позволила ему предоставить пользователю информацию. Например, вы попытались открыть сайт, а внутри веб-сайта в коде произошла какая-то ошибка. В таком случае сайту попросту нечего отображать и он присылает ответ с данной ошибкой.
Возможные причины возникновения ошибки 500 Internal Server Error:
1. Проблема с кодом внутри сайта (например, в скриптах php). Пожалуй, эта самая частая причина возникновения 500-й ошибки. Как говорится, всякое бывает.
2. Нехватка оперативной памяти. Сервер, на котором хостится сайт, обладает определенным объемом оперативной памяти. Для каждого сайта может быть выделена какая-то часть этой оперативной памяти. Соответственно, если запрос пользователя приводит к тому, что требуется больше памяти, чем выделено, то возникает ошибка и пользователю отображается сообщение "500 Внутренняя ошибка сервера".
3. Проблемы с плагинами, модулями и расширениями в CMS. Порой бывает так, что сайт нормально открывался, а потом установили какой-то плагин или модуль и появилась ошибка "500 Внутренняя ошибка сервера".
Кстати, именно поэтому нередко советуют делать бэкап сайта перед любыми действиями (обзор в тему). Естественно, речь не о каких-то стандартных действиях в стиле "добавить обзорчик".
4. Некорректный файл ".htaccess". В файле htaccess описываются различные правила и настройки для веб-сервера (Apache и т.п.). Соответственно, если в файле некорректные настройки, то сервер не может корректно запустить веб-сайт и отображается 500-я ошибка.
Варианты возможных текстовых уведомлений:
1. Внутренняя ошибка сервера 500.
2. HTTP status 500 internal server error.
3. Внутренняя ошибка HTTP 500.
4. Временная ошибка (500).
5. Внутренняя ошибка сервера.
6. 500 ошибка сервера.
7. Произошла непредвиденная ошибка.
8. Ошибка 500 Internal Server Error.
Что делать при ошибке 500 Internal Server Error, если вы обычный посетитель сайта?
Для начала рассмотрим то, что делать обычным пользователям, если они встретили ошибку 500 Internal Server Error:
1. Перезагрузить страницу через время. Нередко бывает так, что ошибка появляется в тот момент, когда владелец сайта что-то с ним делает. Или, например, так, что автор сайта просто еще не знает о существующей проблеме. В такой ситуации, так как проблема внутри сайта, вполне естественный вариант это попробовать открыть сайт через время (глядишь, к тому времени автор починит сайт).
2. Попробуйте открыть сайт с другого браузера. Такое хоть и маловероятно, но бывает, что ошибка 500 возникает в каком-то отдельном браузере. Поэтому стоит попробовать открыть страницу веб-сайта в другом браузере.
Кстати, обзор в тему зачем пользователю несколько браузеров.
2. Написать автору сайта и сообщить о проблеме. Раз исправить ошибку 500 Internal Server Error может только автор сайта, то вполне логично ему об этом написать. Порой ошибка исправляется достаточно быстро. В крайнем случае, автор может подсказать примерные сроки в стиле "через денек попробуйте открыть".
Как исправить ошибку 500 Internal Server Error, если вы владелец сайта?
Теперь рассмотрим ситуацию с ошибкой "Внутренняя ошибка сервера 500" для владельцев сайта, и вот что, собственно, автор может сделать:
1. Удалить установленный в CMS модуль (плагин, расширение), который привел к появлению ошибки. Это, пожалуй, самое первое и простое, что может сделать автор сайта. В крайнем случае еще можно откатить сайт до ранее сохраненного бэкапа (если админка не открывается). И далее, соответственно, использовать другие модули с аналогичной функциональностью. Ну или переходить к следующим советам.
2. Проверить лог ошибок. Обычно это файл error.log в корне сайта. Там в самом конце файла должна отображаться последняя ошибка (нужно искать надпись в стиле Fatal Error). Если в корне веб-сайта такого файла нет, то вы можете уточнить расположение файла лога у вашего хостера (порой файл где-то в другом каталоге сохраняют). Ну а дальше уже искать решение конкретной возникшей ошибки в коде php.
3. Включить отображение ошибок, перезагрузить страницу и посмотреть ошибку. Чаще всего отображение ошибок по умолчанию отключено. Сделано это специально, так как нужно понимать, что внутри ошибок могут быть важные данные. Например, если ошибка в sql-запросе, то в логе может быть отображен этот sql-запрос.
Возвращаясь к сути. Включить отображение ошибок можно так (php код):
Чтобы отключить, нужно убрать данный код.
Ну и все же, на всякий случай код для отключения, он аналогичен, только параметры иные
Включить отображение ошибок можно так же с помощью файла php.ini в корне сайта (или аналогичного файла для Apache). Нужно добавить следующие строки:
Для отключения, нужно данные строки убрать. В общем, аналогичное действие.
А дальше, соответственно, смотрите ошибку и исправляйте.
4. Увеличить размер выделенной оперативной памяти, если ошибка в ее недостатке. Напомню, что это ошибки в стиле "Allowed Memory Size Exhausted" ("Допустимый объем памяти исчерпан"). Также сразу хотел бы отметить, что далеко не всегда существует возможность увеличить размер оперативной памяти. Банально потому что могут быть ограничения вашего типа хостинга. В последнем случае нужно либо оптимизировать скрипты, либо писать хостеру.
Но возвращаясь к сути. Увеличить размер оперативной памяти можно добавлением в файл php.ini в корне сайта (или аналогичного файла для Apache) строки
Соответственно, при необходимости увеличиваете цифру. Напоминаю, что справку по параметру легко найти в интернете.
5. Также можно проверить корректность файла .htaccess. Сразу небольшая подсказка. Если вы используете известную CMS, то исходный стандартный файл ".htaccess" всегда можно найти в архиве этой CMS. Кстати, также в интернете можно поискать онлайн сервисы для проверки, для этого достаточно набрать в поисковике "проверить htaccess онлайн". Но, опять же, хотел бы обратить ваше внимание, что если у вас нестандартный файл htaccess, то безопаснее проверить его вручную.
Понравилась заметка? Тогда время подписываться в социальных сетях и делать репосты!
☕ Понравился обзор? Поделитесь с друзьями!