Содержание
Всем привет! Сегодня я расскажу вам об ошибке 500 internal server error и как ее устранить на wordpress. Честно сказать мне хочется ликовать и прыгать от счастья!
Ведь данная гадость отравляла жизнь моему блогу на протяжении нескольких месяцев и вот теперь я могу заявить об окончательной победе: “Ура!!! Я устранил ошибку 500 internal server error!“. Данная статья посвящена всем, кто мучается с ошибкой 500 internal server error, не один день, а может как и я, не одну неделю или месяц.
Из данной статьи, вы узнаете:
Почему возникает ошибка 500 internal server error?
Если на вашем сайте возникла ошибка 500 internal server error при заходе на сайт вы увидите следующее сообщение:
Данная ошибка может возникать на wordpress по следующим причинам:
- Ошибки в файле .htaccess;
- Один из скриптов вашего сайта слишком долго работает;
- Один из скриптов вашего сайта превысил лимит хостинга на оперативную память;
- Поврежденный файл wordpress.
Хочу отметить, что описанные 4 причины это основные причины, по которым может возникать ошибка 500 internal server error на сайте под управлением wordpress. Но если вы не используете wordpress, возможно что 500 ошибка, возникла по 2 другим причинам:
- Сайт возвращает неправильные данные;
- На хостинге подключены несовместимые php расширения.
Так, ну а теперь, зная причины по которым возникает 500 ошибка, давайте перейдем к части статьи, ради которой вы здесь и собрались как исправить ошибку 500 internal server error.
Исправляем ошибку 500 internal server error в wordpress
Ну, а теперь давайте по порядку разберем, как исправить 500 ошибку в зависимости от причины по которым она возникает.
Ошибки в файле .htaccess
Лично у меня ошибка возникала из-за ошибок в файле .htaccess.
Чтобы восстановить работоспособность сайта и определить, вызвана ли ошибка 500 internal server error файлом .htaccess удалите с хостинга вашего сайта файл .htaccess и обновите страничку, если проблема ушла значит ошибка вызвана данным файлом, если нет, тогда смотрите как устранить ошибку, которая возникает по другим причинам.
Файл .htaccess это специальный файл который используется хостингом для управления доступом к каталогам вашего хостинга, перенаправлениями и дополнительными настройками вашего сайта.
WordPress использует файл .htaccess в том случае, если вы изменили стандартную структуру ссылок на структуру ссылок ЧПУ, кроме того его широко использую wordpress плагины, осуществляющие резервное копирование данных или другие специальные функции на вашем блоге.
По сути файл .htaccess должен создаваться всего один раз, но только не в wordpress! По каким-то неизвестным мне причинам, wordpress пересоздает файл .htaccess по несколько десятков раз в день. В итоге в процессе создания файла в него вносятся ошибочные записи хостинг считает файл поврежденным и выдает ошибку 500 internal server error.
Записывать ошибочные записи могут темы, плагины или сторонние скрипты wordpress.
Чтобы решить данную проблему нужно поэтапно проверить описанные элементы и на каждом этапе проверять исчезла ли ошибка 500 internal server error или нет. Т.е. вы берете отключаете свою wordpress тему и активируете любую другую, далее какое-то время смотрите на результат ушла ошибка или нет; если ошибка ушла значит проблема в wordpress теме, если ошибка повторяется, значит проблема не в теме, и нужно проверять плагины wordpress.
Для этого поочередно деактивируете каждый из wordpress плагинов, особое внимание уделяя плагинам которые вы установили недавно скорее проблема в них. Если деактивация плагинов не помогла, т.е. вы поочередно деактивировали каждый из активированных у вас плагинов, но ошибка 500 internal server error продолжает атаковать ваш блог искать проблему нужно в движке wordpress и сторонних скриптах которые возможно используются на вашем сайте.
Если вы не устанавливали сторонних скриптов значит ищем проблему в самом ядре wordpress. Первым делом обновляем wordpress до последней версии, ну а если вы используете последнюю версию wordpress или просто не хотите обновлять wordpress, по каким-либо причинам, например: после обновления wordpress у вас перестанут работать некоторые из плагинов; тогда я предлагаю просто отключить в wordpress функцию перезаписывающую файл .htaccess.
Отключаем функцию автоматического создания файла .htaccess в WordPress
Если вам не помог ни один из предыдущих способов найти причину ошибки 500 internal server error тогда просто отключим wordpress функцию, которая постоянно создает и перезаписывает файл .htaccess, и будем спокойно искать проблему ошибки дальше, но с твердой уверенностью в том, что наш сайт больше не упадет от ошибки 500 internal server error.
Хочу заметить, что этот способ нужно применять только в экстренному случае и только временно дождаться очередного обновления wordpress и обновлений всех имеющихся плагинов, а также искать ошибку дальше.
Ну, а теперь вот, что вам нужно сделать. Прежде всего когда сайт нормально работает, т.е. вы не видите ошибки 500 internal server error на экране своего монитора, подключаемся при помощи ftp к хостингу сайта и скачиваем к себе на компьютер рабочий файл .htaccess вашего сайта. Кроме этого на хостинге переходим в каталог /wp-admin/includes/ и скачиваем файл misc.php. Далее открываем скачанный файл misc.php в любом текстовом редакторе, я рекомендую использовать Notepad++, и ищем строку(рекомендую воспользоватся функцией поиска нажмите сочетание клавиш Ctrl+F) function save_mod_rewrite_rules
Далее в данной функции находим строку: return insert_with_markers( $htaccess_file, ‘WordPress’, $rules и заменяем ее на строку return true;
Сохраняем файл misc.php и загружаем его на хостинг, заменяя предыдущий файл misc.php. При помощи данного способа мы отключили обновления файла .htaccess в wordpress, хочу заметить, что если вы будете активировать какой-либо плагин который так или иначе работает с файлом .htaccess, тогда данный плагин или вообще не будет работать или выдаст сообщение с ошибкой.
Вообще, данный метод это временный метод. И после того, когда вы отключили обновления .htaccess wordpress вам нужно начать искать проблему, которая вызывала у вас запись мусора в файл .htaccess, т.е. проверяйте активированную тему и плагины! Так ну, а теперь давайте рассмотрим вариант, когда ошибка 500 internal server error возникает по другим причинам не связанным с файлом .htaccess.
Один из скриптов вашего сайта слишком долго работает
Чтобы определить имеется ли на вашем сайте файл который загружает ваш хостинг необходимо зайти в админ-панель вашего хостинга и проверить письма которые поступают к вам от службы поддержки. Если какой-либо скрипт сильно загружает сервер хостинга или долго работает, скорее всего служба поддержки хостинга известит вас об этом написав гневное письмо с предупреждение и рекомендациями.
Если у вас есть подобные письма у вас есть 2 способа, как узнать какой файл нагружает ваш хостинг: попросить помощи у службы технической поддержки напишите жалобное письмо с просьбой помочь найти файл вызывающий ошибку. В процессе того, когда вы будете общаться со службой поддержки будьте настойчивы и требуйте помощи, если в помощи отказывают можете сказать, что в противном случае вы будете вынуждены сменить хостинг скорее всего они вам помогут, они очень не любят терять клиентов найти проблему самому проанализировав работу хостинга и просмотрев log файлы.
Зайдите в панель администратора вашего хостинга, они могут отличатся, у каждого хостинга по разному, но большинство хостингов используют панель администратора CPanel. Я буду рассматривать пример анализа хостинга, на основе CPanel, но если у вас хостинг использует другую панель администратора не огорчайтесь, принцип везде один и тот же.
Итак, заходим в CPanel вашего сайта и смотрим log файл с ошибками это специальный файл в который записываются данные о всех ошибках вашего хостинга.
В тексте данного файла вы увидите файл который вызывает ошибку и время возникновения ошибки. Далее находите данные файлы на хостинге и пытаетесь их заменить или обновить до более новой версии ну или исправить, ну а на крайний случай удалить.
Обычно в wordpress сбой вызывают файлы какого-либо плагина или wordpress темы деактивируйте сбойный плагин или тему и начните использовать любой другой. Если сбой дает ядро wordpress тогда попробуйте обновить сам wordpress.
Один из скриптов вашего сайта превысил лимит хостинга на оперативную память
Бывает, что ошибка 500 internal server error происходит из-за того, что скрипты вашего сайта используют больший объем оперативной памяти чем вам выделено в вашем аккаунте на хостинге, или в случае если какой-либо скрипт загрузил процессор вашего сервера, больше чем положено по вашему тарифному плану.
Как узнать, сайт превысил лимит хостинга на оперативную память или максимальную загрузку процессора или нет?
Для этого, как и в предыдущем случае заходим в админ-панель вашего хостинга и смотрим информацию о нагрузке вашего сервера. Если вы как и я используете CPanel обратите внимание на информацию в левом блоке на главной страницы CPanel.
- CPU Usage загрузка процессора вашего сервера.
- Virtual Memory Usage использование вашим сайтом виртуальной памяти.
- Physical Memory Usage использование вашим сайтом физической оперативной памяти.
Если у вас все в пределах нормы, а еще лучше на минимальных значениях – тогда все хорошо, но если у вас все ползунки красного цвета и достигли предельных значений – значит дело плохо. Далее заходим в лог файл ошибок и смотрим какой файл нагружает ваш хостинг – удаляем данный файл или обновляем его, если это возможно.
Кроме этого – обратите внимание на файл wp-config.php который находится в корне вашего хостинга – скачайте его к себе на компьютер и откройте на редактирование. Далее в самый конец файла вставьте следующий код: define(‘WP_MEMORY_LIMIT’, ’64M’);
Так мы увеличим лимит памяти который использует wordpress до 64Mb. Можете так же попробовать увеличить до 128Mb и более в зависимости от настроек и возможностей вашего хостинга. По окончанию редактирования данного файла – загружаем его на хостинг с заменой предыдущего файла. Если данная манипуляция помогла, но вы так и не нашли сбойный файл который пожирает память вашего хостинга, тогда данная мера будет временной.
Поврежденный файл wordpress
Бывают случаи, когда по каким-либо причинам был поврежден один из файлов вашего wordpress, в итоге сайт может работать нормально, но иногда выдавать сообщение с ошибкой 500 internal server error. В этом случае нужно обновить wordpress до более новой версии или скачать заведомо работающий wordpress и загрузить его на хостинг с заменой всех файлов, за исключением файлов темы и плагинов.
Ну, и на этом всё! Главное помните друзья, что если на вашем сайте возникла ошибка– не нужно паниковать, а нужно действовать! Проведите подробный анализ работы вашего сайта и вы обязательно найдете корень зла – причину возникновения ошибки 500 internal server error, ну а если моя статья будет вам полезна – тогда нажмите на одну из кнопок социальных сетей, это будет лучшей благодарностью для меня. Всех благодарю за внимание, всем желаю хорошего настроения, увидимся совсем скоро .