Windows        20.02.2024   

Ошибка авторизации код 500 электронная школа. Исправляем на стороне сервера

В статье я опишу, что это за ошибка 500 Internal Server Error и как её исправить. После того, как я столкнулся с ней я понял, что это внутренняя ошибка сервера, которая может появляться по причине целого ряда неполадок на сайте. Появляющееся окно может быть разным по форме и описанию, это зависит от сервера, однако суть остается одной для всех. Если вы столкнулись с ошибкой 500 попробуйте зайти через некоторое время, возможно проблему уже решают. Если проблема остается длительное время, значит необходимо действовать самому.

Что это за проблема 500 Internal Server Error в WordPress?

Данная ошибка – это не сбои в CMS, а появляется 500 Internal Server Error обычно в процессе неправильной работы скриптов на сервере. Обычно, текст ошибки ничего конкретного нам не говорит, мы лишь знаем, что неполадки происходят на стороне сервера. Понятно, что эта ошибка может возникать в WordPress из-за шаблона или функции плагина.

Проверка целостности файла.htaccess в WordPress

Чтобы выполнить проверку, необходимо файл.htaccess переименовать, например, в.htaccess_fix. Для этого вы должны будете зайти на ваш сайт с помощью FTP. После этого найдите этот файл в корне сайта, он будет возле директорий wp-admin, wp-content.

Когда вы выполнили переименование, снова попробуйте загрузить сайт, чтобы убедиться, что ошибка исчезла. Теперь убедитесь, что вы сохранили изменения в пункте «Постоянные ссылки», это позволит сгенерировать новый.htaccess файл с корректными правилами перезаписи ссылок.


Файл.htaccess

Увеличиваем память PHP

Ошибка 500 Internal Server Error может возникать по причине переполненной памяти PHP, которая выделяется для пользователя. Для этого следуйте несложным пунктам:

  1. Создайте новый тестовый документ с названием php.ini.
  2. Напишите в нем код – memory=64MB.
  3. Сохраните его.
  4. «Залейте» его в папку /wp-admin/, по ФТП.

Проблема, связанная с ошибкой 500 Internal Server Error, кроется в плагинах WordPress

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


Окно с настройкой плагинов

При входе в админ-панель Joomla появляется ошибка 500 Internal Server Error

Эту ошибку пользователи CMS Joomla могут наблюдать после того, как ввели логин и пароль при входе, но при этом сайт работает для пользователей. К сожалению, ошибка Internal Server Error с кодом 500 не указывает на причины ее появления, поэтому придется искать ее самостоятельно.

Найти причину можно с помощью журнала ошибок, который хранится на сервере. Открыв файл «error.php», который находится в директории «logs», можно обнаружить нарушения в работе модулей, которые здесь сохранились.

Еще одной причиной может быть невозможность делать запись в каталогах «tmp» и «logs». Возможно, нужно будет установить права в настройках для этих каталогов. Проверьте правильность путей к этим каталогам «tmp» и «logs» в файле, который отвечает за их конфигурацию – «configuration.php». Рекомендуется указать верные пути для них вручную.

Если проблема не иссякла, проверьте правильность файла «htaccess» и произведите те же действия для него, что и с подобным файлом для системы управления сайтом WordPress. В этом файле могут быть опечатки либо лишняя информация, которая вызывает ошибку. При работе с файлом «htaccess» можно не удалять сомнительные строки, а закомментировать их и проверять, изменяется ли после этого работа сайта. Также произведите отключение всех плагинов, чтобы убедиться в том, что причина не в них.

Другие причины появления ошибки 500 Internal Server Error


Ошибка Internal Server Error

Ошибка 500 может появляться из-за конфликтов в работе с CGI-скриптами. Для этого существует 3 правила, которые могут быть не соблюдены:

  • Каждая строка должна заканчиваться в формате UNIX (n), но не Windows (rn). Чтобы выдержать это правило, необходимо загрузку производить по протоколу FTP, с режимом ASCll.
  • В процессе работы CGI-скрипта могут появляться HTTP-заголовки с неверными ответами. Нужно пересмотреть содержимое системного файла «error log» на наличие ошибок.
  • Цифровое значение для скриптов CGI, файлов и папок должно быть установлено в 0755. Эта запись дает право совершать настройки исключительно владельцу сайта, что является дополнительной мерой безопасности.

Причина ошибки 500 – неверно настроены права доступа

При помощи FTP-клиента (годен для этого FileZilla) нужно проверить права доступа к папкам и файлам на сервере. Сначала необходимо проверить, соответствуют ли настройки корректной работе на сервере. Проверьте настройки для каждого типа отдельно. Они должны соответствовать следующим значениям:

Для того, чтобы избежать различных ошибок (500 Internal Server Error) и обеспечить дополнительную безопасность – управлять глобальными настройками должен один человек – администратор. Не давайте кому-либо прав доступа к корневым папкам.

Наткнулись в WordPress на ошибку 500 Internal Server Error? Ну что же, вы не одни! Ошибка 500 Internal Server Error – это одна из самых распространенных ошибок с которой сталкиваются пользователи WordPress. Однако найти реальную причину появления ошибки 500 Internal Server Error не так легко, как например ошибки 404, где причиной может быть либо сломанные permalinks или измененные URL страницы.

Самыми распространенными причинами стоящими за появлением ошибки 500 являются поврежденные файлы.htaccess, неправильно установленные права, задержки скрипта, неправильная версия PHP или неудачное обновление WordPress. Однако это еще не все причины появления этой проблемы. Поэтому вам необходимо копнуть глубже и узнать настоящую причину данной ошибки. Одним из лучших советов при появлении ошибки 500 Internal Server Error в WordPress является отследить ваши шаги до момента появления ошибки. Постарайтесь вспомнить какое событие или изменение могло привести к остановке работы вашего WordPress (к примеру, установка или обновление плагина). Как только вы узнаете причину появления ошибки, решить ее будет гораздо проще.

Вот краткое руководство по исправлению ошибки 500 в WordPress с помощью 9 различных способов. Будьте уверены, это руководство поможет вам справиться со всеми возможными причинами возникновения ошибки. Давайте не будем терять время и начнем данное руководство по WordPress.

ВАЖНО! Безопасность прежде всего. Перед началом данного руководства, мы рекомендуем произвести резервное копирование вашего сайта для предотвращения потери данных.

Перед тем, как вы начнете это руководство, вам понадобится следующее:

  • Доступ к панели управления вашим хостингом
  • Доступ к панели управления WordPress

Способ 1 - Ошибка 500 в WordPress из-за плагинов или тем

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

Способ 1.1 - Ошибка 500 в WordPress из-за обновления или установки плагина

Если страница перестала работать после установки или обновления плагина, вы можете починить ее просто отключив или удалив плагин. В зависимости от ситуации, существует два пути для достижения цели.

Отключение плагинов через панель управления WordPress

Если вы можете войти в вашу панель управления WordPress, следуйте данным этапам:

  1. Войдите в вашу панель управления WordPress.
  2. Нажмите на Плагины → Установленные в левом меню навигации .
  1. Отключите проблемный плагин.

  1. Обновите сайт в браузере, чтобы проверить решена ли проблема.
  2. Если нет, отключите другой плагин и повторяйте данный процесс пока все плагины не будут отключены (или сайт не заработает).
  3. Как только вы найдете плагин ответственный за появление ошибки, попробуйте переустановить его заново. Вы также можете поискать другие плагины на его замену или связаться с разработчиками плагина для уточнения информации о его работе на вашем WordPress.

Отключение плагинов WordPress через Файловый Менеджер или FTP

Существуют ситуации, когда ошибка не позволяет получить доступ к панели управления WordPress. В этом случае, вам придется отключить или удалить плагин с помощью Файлового Менеджера в панели управления вашим хостингом или .

  1. Пройдите в корневой каталог вашего WordPress и войдите в папку wp-content/plugins .
  2. Найдите проблемный плагин и переименуйте его для отключения. К примеру, вы можете добавить .отключен в конец файла, чтобы не забыть об этом плагине. Если вы хотите удалить его полностью, просто удалите папку с плагином.

  1. После этого, обновите ваш сайт. В случае, если проблема остается, произведите данные действия для оставшихся плагинов до их полного отключения (или пока ваш сайт не заработает).
  2. Как только вы найдете сломанный плагин, вы можете попытаться переустановить его, найти замену или связаться с разработчиками плагина для получения консультации.

Способ 1.2 - Ошибка 500 в WordPress из-за установки или обновления темы

Если ваш сайт перестал работать после установки или обновления темы, вы можете решить проблему изменив тему вашего сайта. Для этого существует два пути:

Изменение темы с помощью панели управления WordPress

Если вы можете получить доступ к вашей панели управления, вот что вы должны предпринять:

  1. Перейдите в раздел Внешний вид → Темы .

  1. Выберите любую другую тему и нажмите кнопку Активировать .

  1. Как только вы закончите изменение темы, вы увидите подтверждающее сообщение со ссылкой на ваш сайт.

Изменение темы с помощью phpMyAdmin

Другой способ для изменения темы, это редактирование значений вашей базы данных MySQL через phpMyadmin, в панели управления вашим хостингом. Этот способ может быть полезен, если ваша панель управления WordPress не работает. Вот, что вы должны сделать:

  1. Найдите таблицу wp_options и откройте ее.

ЗАМЕТКА! В зависимости от значений таблицы, выбранных вами в процессе установки, префикс таблиц не всегда будет wp_ .

  1. Перейдите на Страницу 2 .
  1. Найдите раздел template и stylesheet

  1. Узнайте название темы на которую вы хотите ее поменять. Для этого перейдите в каталог wp-content/themes с помощью Файлового Менеджера.

  1. Скопируйте название темы, которую вы хотели бы использовать. Далее, измените значения template и stylesheet в базе данных на название вашей новой темы. В данном примере, мы изменим тему twentyfifteen на twentysixteen

Теперь вы снова можете перезагрузить ваш сайт в браузере, и он загрузится с новой темой. Если ошибка 500 была связана с вашей старой темой, то это должно решить проблему. Вы можете попытаться переустановить вашу старую тему или связаться с разработчиком для получения информации о правильной установке темы для вашего WordPress.

Способ 2 - Проверка файла .htaccess

Еще одним способом для избавления от ошибки internal server error, является проверка состояния вашего файла.htaccess. Вероятность того, что ваш нынешний файл.htaccess был поврежден весьма высока. Это могло случиться из-за огромного количества причин; самые распространенные из них это установка нового плагина или другие изменения на вашем сайте.

Лучшим методом для проверки состояния вашего файла.htaccess является создание нового. Все, что вам нужно сделать это:

  1. Войти в панель управления вашим хостингом, далее в Файловый Менеджер в разделе Файлы . Альтернативный способ, это использовать .
  2. Перейдите в корневой каталог вашего WordPress сайта (если вы видите файлы вроде wp-content и wp-includes , вы в правильном месте).
  3. Найдите здесь файл.htaccess отключите его. Это можно сделать задав ему другое имя. К примеру, .htaccess1.

  1. После этого, создайте новый файл .htaccess и вставьте в него стандартный код.htaccess :
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
  1. Убедитесь, что сохранили файл.

Теперь, откройте ваш сайт в браузере и посмотрите исправлена ли ошибка. Если нет, продолжите чтение руководства.

Способ 3 - Увеличение лимитов PHP

Если два способа описанных выше не принесли никакого результата, то неправильные значения PHP или нехватка памяти могли стать причиной появления ошибки 500. Это происходит из-за того, что скрипты и плагины требуют определенное количество памяти для своей правильной работы. В дополнение к этому, когда загружается ваш сайт, браузер делает огромное количество запросов для загрузки скриптов, плагинов и контента. Когда количество памяти для загрузки скриптов и плагинов не хватает, WordPress скорее всего выдаст ошибку 500 Internal Server Error. Именно поэтому, важно увеличить значение памяти вашего сайта и других PHP настроек. Вы можете это сделать с помощью файла .htaccess . Вот несколько строк, которые мы рекомендуем вам добавить:

Php_value upload_max_filesize 128M php_value post_max_size 128M php_value max_execution_time 300 php_value max_input_time 300 php_value memory_limit 256M

Способ 4 - Изменение версии PHP

Некоторые скрипты или плагины для WordPress требуют определенную версию PHP. Если рекомендуемые требования для них не выполнены, то в следствии этого может появиться ошибка 500. Вы можете проверить вызвана ли она версией PHP, изменив ее. Это можно сделать через панель управления хостингом в разделе Дополнительно → Выбор PHP версии.

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

Способ 5 - Включение отображений ошибок

Поиск причины возникновения ошибки WordPress 500 Internal Server Error – это самая сложная часть в процессе ее исправления. Если ни один из предыдущих способов вам не помог, значит вам необходимо начать поиски поглубже – проверив ваши ошибки. Существует несколько способов для этого:

Включение отображение ошибок

Включив отображение ошибок, вы сможете найти определенный код вашего сайта, который ее вызывает. Это можно сделать в том же разделе, где мы меняли версию PHP. Дополнительно → Выбор PHP версии . Установите значение Отображать Ошибки на Включена и нажмите кнопку Сохранить .

Теперь, вы должны перезагрузить ваш сайт. Все ошибки кода будет отображены на экране, как на картинке ниже:

Как только вы найдете ошибку, откройте указанный в ней файл и посмотрите нужную строку. Вы можете использовать Google , Stackoverflow , WordPress Форум , или связаться с вашим разработчиком для получения информации о решении данной проблемы.

Способ 6 - Использование отладки WordPress

WordPress имеет свою собственную систему отладки, которую вы можете использовать для решения проблем с вашим кодом. Это также может помочь решить проблему ошибки 500. Для начала ее использования, вам необходимо сделать несколько изменений в вашем файле wp-config.php .

  1. Найдите следующую строчку в файле wp-config.php:
define("WP_DEBUG", false);
  1. Удалите и вставьте на ее место следующий код:
// Enable WP_DEBUG mode define("WP_DEBUG", true); // Enable Debug logging to the /wp-content/debug.log file define("WP_DEBUG_LOG", true); // Disable display of errors and warnings define("WP_DEBUG_DISPLAY", false); @ini_set("display_errors", 0); // Use dev versions of core JS and CSS files (only needed if you are modifying these core files) define("SCRIPT_DEBUG", true);
  1. Обновите ваш сайт и откройте Файловый Менеджер . Перейдите в каталог wp-content и найдите файл debug.log . Откройте редактирование данного файла для просмотра его значений.

  1. Теперь вы знаете, что является причиной возникновения ошибки и сможете решить ее обратившись к разработчику или Google , Stackoverflow , WordPress Форуму . Более детальная информации о системе отладки может быть найдена .

Способ 7 - Восстановление резервной копии

Если вы сделали бэкап WordPress до его поломки, восстановление резервное копии тоже может стать решением. Для начала, удалите все файлы WordPress. Затем, загрузите ваш бэкаи перепроверьте работает ли ваш сайт.

Ручной способ восстановления WordPress может подойти не всем. Если вам кажется это слишком сложным, то мы можем подсказать вам другой способ. К сожалению, это не поможет вам, если ваш сайт не работает, но он точно поможет вам избежать подобных проблем в будущем.

  1. Установите и активируйте плагин All-in-One WP Migration .

  1. Найдите его в панели управления вашим WordPress и нажмите кнопку Export.

  1. Выберите опцию File (Файл), если вы хотите скачать резервную копию на ваш компьютер.

  1. Скачайте сгенерированную резервную копию на ваш компьютер. Она содержит файлы вашего сайта и базы данных.
  2. Теперь в случае появления ошибки 500 Internal Server Error (или любой другой проблемы) и невозможности ее решения, вы можете просто восстановить ваш сайт с помощью резервной копии.
  3. Для восстановления сайта с помощью сгенерированной резервной копии, вам необходимо полностью удалить ваш сайт и установить новый WordPress, вместе с плагином All-in-One. После этого, выберите функцию Import (Импорт) , выберите сгенерированный бэкап и продолжите процедуру восстановления.

Если ошибка еще появляется, есть кардинальное средство для ее решения. Все, что вам нужно сделать это:

  1. Скачать последнюю версию WordPress .
  2. Сохранить и распаковать ее на вашем компьютере.
  3. Удалить файл wp-config-sample.php и папку wp-content для избежания перезаписи важной информации.
  4. Переместить все корневые файлы на ваш хостинг аккаунт и перезаписать их. Это можно сделать с помощью .

  1. Далее, должно появиться окно с разрешением на перезапись файлов. Поставьте значения как на изображении для автоматизации процесса.

ЗАМЕТКА! Убедитесь, что вы сделали резервное копирование вашего сайта перед началом данного процесса. Это позволит избежать потери важной информации.

Процесс загрузки может занять от 10 до 20 минут. После завершения, попробуйте вновь обновить ваш сайт в браузере. Если ошибка 500 Internal Server Error была связана с корневыми файлами WordPress, этот способ должен помочь решить проблему.

Способ 9 - Начать всё заново

Если все из приведенных способов вам не помогли, вам придется начать создание вашего сайта с нуля. Хорошей новостью является то, что вы можете восстановить ваш сайт даже с помощью резервной копии базы данных. Загляните в для пошаговой инструкции по восстановлению вашего сайта только с помощью базы данных MySQL.

Заключение

Все, кто используют WordPress хотя бы раз сталкивались с ошибкой internal server error. Являетесь ли вы продвинутым разработчиком или начинающим пользователем, исправление ошибки 500 является довольно простым процессом, если вы знаете где искать ее причину. Как и в реальной жизни, для решения проблемы нужно сначала найти ее источник. После этого, вы можете использовать онлайн ресурсы или это руководство для решения данной проблемы.

Активные пользователи интернета лучше всех знают ошибки, которые возникают при работе в браузере. Одни из них встречаются наиболее часто, как, например, ошибка 404. Другие – реже, например, ошибка 500. И именно о второй мы поговорим сейчас: о её причинах и способах решения.

Что за ошибка http error 500

Полный текст ошибки 500 на английском «internal server error» с приписками «occurred», «nginx», «database problem try later». Это переводится как «внутренняя ошибка сервера». В русскоговорящем сегменте обычно пишется просто «ошибка сервера». Раз уж у обычных пользователей дома нет никаких серверов, решение этой проблемы обычно зависит от владельца сайта . Но не всегда неисправность возникает по вине вебмастера, иногда такое сообщение возникает по вине пользователя, рассмотрим несколько способов решения этой задачи.

Корни неисправности идут со стороны сайта, поэтому рекомендаций для обычного пользователя немного. Тем не менее, есть несколько способов:

  1. Перезагрузить страницу . Владельцы сайта, естественно, заметят проблему и сделают всё, чтобы её решить как можно скорее. Поэтому после неудачной попытки попробуйте снова через пару минут, возможно, к тому времени всё уже будет хорошо.
  2. Просканировать компьютер на наличие вирусов . Вредоносные программы могут действовать по-разному. Невозможно предсказать, насколько они изворотливые и хитроумные. Поэтому не стоит исключать возможность заражения ПК где-то на просторах сети.
  3. Сменить настройки доступа к Интернету. Заходим в «Панель управления» и находим Центр управления сетями и общим доступом. Кликаем правой кнопкой на своем подключении и выбираем Свойства. Остается найти пункт – протокол интернета версии 4 и изменить его настройки.

Исправляем на стороне сервера

Сайты представляют собой сложную структуру, поэтому любая мелочь может привести к различным проблемам. Рассмотрим несколько причин.

Меняем тему WordPress

Владельцы сайтов на базе WordPress наверняка слышали об этой ошибке. И в этом случае сложно определить точную причину. Часто код ошибки 500 может возникнуть из-за некорректно установленной темы. Для того, чтобы исправить эту причину, установите одну из стандартных тем и перезапустите сайт. Если не помогло, удалите «wp-admin» и «wp-includes» и замените их резервными копиями.

Деактивируем плагины

Проблема может возникнуть из-за некорректной установки или работы плагина. Также причиной может стать конфликт. В этом случае следует либо их все удалить, либо все отключить и поочерёдно включать, чтобы выяснить, с каким именно появились проблемы.

Изменяем конфигурацию.htaccess

Авторизуемся в корневом каталоге WordPress и находим файл.htaccess. Переименовываем его в.htaccess.bak. Затем обновляем окно и смотрим, сработало ли это. Если да, заходим в раздел «Параметры », затем – «Постоянные ссылки» и «Сохранить изменения».

Меняем права доступа

Проблема может крыться в значении прав доступа 777, которые позволяют любому пользователю вносить изменения. Это негативно отразится на вашем ресурсе. Но на некоторых хостингах такой ошибки может и не быть. Доступ к корневому каталогу ресурса должен быть только у вас.

Рекомендуется везде , где установлены такие права внести изменения, и поставить 755 для папок, 600 для скриптов и 644 для всех остальных файлов.

Нехватка памяти на сервере

Для того, чтобы избежать слишком большой нагрузки на сервер хостинг порой накладывает ограничение на потребление памяти. Чаще всего это случается так: мы ставим плагин, который слишком «тяжёлый» для нашего ресурса. В итоге он не может прогрузиться до конца и возникает подобное сообщение — internal server error database problems try later. Для исправления ситуации либо уменьшите объем потребляемой памяти, либо обратитесь в техническую поддержку вашего хостинга.

Исправляем скрипты CGI

Есть некоторые правила оформления и размещения этих скриптов:

  • Загружать их нужно через FTP .
  • Ограничьте доступ к CGI и папкам с ними, чтобы записывать их могли только вы.
  • Из-за работы скрипта могут быть неправильно сформированы НТТР-заголовки ответа. Для решения этой причины нужно открыть логи ошибок и проверить их.

Исправляем ошибку при входе в админку Joomla

Проблемы с сервером могут случиться не только с Вордпресс но и с Joomla. С Джумлой стоит, наоборот, изменить права доступа на 777.

Оптимизируем скрипты

На хостингах есть чёткие границы времени, в которые должны выполняться скрипты. В случае, если именно это является причиной, поможет только оптимизация скриптов .

Изменение версии PHP

Ошибка internal server error nginx может произойти также при переходе на новую версию PHP. И решение простое – нужно всего лишь восстановить прежнюю . Изменение происходит индивидуально, в зависимости от хостинг-панели. Но обычно нужно пройти по пути «Дополнительно» — «Смена версии PHP ».

Включаем отображение ошибок

Следует включить отображение ошибок, для того, чтобы видеть, какая именно часть кода вызывает проблему. И это очень удобно – не нужно наугад искать причину. Делаем мы это в том же разделе, где и смена версии PHP. Просто нужно в пункте «Отображать ошибки » кликнуть на «Включена».

Используем отладку на WordPress

У Вордпресс есть своя собственная система отладки , позволяющая вычислить причину проблем. Для того, чтобы её включить, нужно внести изменения в wp-config.php. В файловом менеджере появится debug.log. В нём и будут записаны все проблемы, которые вам нужно решить.

Чтобы это сделать, открываем сам файл и ищем строку:

Define(‘WP_DEBUG’, false);

Для включения изменяем false на true. Чтобы включить запись протоколирования в файл необходимо добавить еще одну строку. В итоге должно получиться:

Define("WP_DEBUG", true); define("WP_DEBUG_LOG", true);

Есть еще одна возможность – вывод сообщения сразу на экран. Для этого добавляем:

Define("WP_DEBUG_DISPLAY", true);

Восстанавливаем резервную копию сайта

Если вообще ничего не помогает, для восстановления работы сайта, можно использовать бэкап. Разумеется, у каждого владельца интернет-ресурса он должен быть. Есть огромное количество плагинов, которые позволяют это сделать. Например, All-in-One WP Migration.

Переустановка WordPress

Это самый кардинальный путь решения проблемы. Для этого мы распаковываем новую версию Вордпресс на компьютере и удаляем оттуда wp-config-sample.php и wp-content. Переносим все корневые файлы на хостинг через FTP. Сохраняем сайт и обновляем его в браузере.

Ошибка 500 (Internal Server Error) - внутренняя ошибка сервера - 4.2 out of 5 based on 9 votes

500 (Internal Server Error) - внутренняя ошибка сервера - код статуса протокола HTTP означающий, что в конфигурации сервера возникла определенная ошибка или один из его компонентов сообщил об отказе. Ошибку можно увидеть на сайтах построенных на самых разных CMS.

Часто такая ошибка возникает в таких CMS как WordPress, Joomla, Битрикс, OpenCart и других. Поэтому мы рассмотрим самые распространенные причины возникновения данной ошибки и способы ее устранения.

Что означает ошибка 500

Ошибка 500 означает, что программное обеспечение сервера работает, но на его стороне возникают серьезные внутренние ошибки. В результате чего запросы нормально не обрабатываются и в ответ на них клиенту (браузеру посетителя или поисковику), выдается код ошибки 500.

Вообще причин возникновения ошибки 500 может быть огромное множество, рассмотрим те которые встречаются чаще всего.

Стандартная страница ошибки выглядит так:

По каким причинам может показываться данная ошибка и как ее исправить

1. Неправильные права доступа на папки и файлы. Если на PHP файлы скриптов размещенных на вашем хостинге стоят права доступа 777, то исполнение данных скриптов может быть заблокировано сервером и вам будет показана ошибка 500. Происходит это из-за того, что права доступа 777 позволяют всем производить любые изменения с данным файлом, что существенно влияет на безопасность и целостность вашего сайта.

Решение: Проверьте права доступа на папки и файлы сайта. Для папок рекомендованы права доступа 755, для исполняемых скриптов 600, а для всех остальных файлов 644.

2. Очень долгая работа скрипта. На хостингах, кроме PHP ограничений времени на исполнение скрипта, имеется и ограничение со стороны сервера. Поэтому если сервер не получает ответ в течении определенного количества времени, установленного в его конфигурации, работа скрипта принудительно завершается и мы видим сообщение об ошибке 500.

Решение: Попытаться оптимизировать работу скрипта. Можно так же увеличить время ожидания сервера, но только если у вас VPS или выделенный сервер, на виртуальном хостинге это врат ли удастся сделать.

3. В файле.htaccess содержаться не правильные или не поддерживаемые сервером директивы. Файл.htaccess имеет очень строгий синтаксис и если вы производя определенные настройки допустили какие то ошибки то вам также будет показана ошибка 500 Internal Server Error.

Решение: Посмотрите имеется ли в корневой папке сайта файл.htaccess. Если он там есть сделайте его резервную копию и попробуйте вовсе удалить. Если после этого сайт заработал значит причина в нем.

Еще можно посмотреть сведения об ошибках в файле куда записываются все ошибки сервера, это файл error.log. В случае указания неверной директивы в файле.htaccess в файле error.log вы найдете примерно такие строки:

/home/UXXXXX/vash-sait.ru/www/.htaccess: Invalid command "RewritRule", perhaps mis-spelled or defined by a module not included in the server configuration

4. Для своей работы скрипт хочет получить слишком большое количество памяти. Данная причина может быть на виртуальном хостинге, где кроме лимита памяти установленного в PHP отслеживается общее количество памяти потребляемое скриптами. Если данное потребление слишком велико, т. е. больше чем отведено по вашему тарифному плану, то работа скрипта завершается и выдается сообщение об 500 - й ошибке. Сделано это для предотвращения чрезмерной нагрузки на сервер со тороны каждого аккаунта виртуального хостинга.

При плохой системной конфигурации,работа сервера может пойти наперекосяк,и тогда Hypertext Transfer Protocol (HTTP) показывает сообщения об ошибках.В частности,сообщение об ошибке «HTTP 500 Internal server error» обычно происходит,когда администратор сайта пытается загрузить файл на сайт.Для администраторов,которые управляют сервером,такая ситуация не должна быть проигнорирована,так как страдают конфигурационные файлы системы.Чтобы исправить эту ошибку,требуются усилия команды,и они начинаются с конечного пользователя,уведомлением администратора сервера и заканчивается хостингом сайта,что бы принять меры.500 Internal Server Error-это общее сообщение об ошибке, выдаваемое при отсутствии более конкретных подходящих сообщений.

Как правило,для решения этой проблемы необходимо воспользоваться помощью лог-файлов,которые расположены в следующей папке:
=>/var/log/message
=>/var/log/httpd/error_logs (/var/log/lighttpd/error_log /var/log/httpd/error_log)

Так что вы даже можете быть удивлены,почему ваш PHP-скрипт выдаёт внутреннюю ошибку сервера 500.Эта ошибка возникает только из-за программного обеспечения веб-сервера.Однако,просмотрев журналы можно не обнаружить множество деталей.Эта проблема может быть вызвана:

  • Уродливым php-cgi-скриптом
  • Недопустимая директива в.htaccess или других config file
  • Ограничения,наложенные файловой системы и программным обеспечением сервера (например,файл php журнала размер 10 Мб)
  • Отсутствует php.ini (или не может прочитать файл php.ini)

В большинстве случаев она является недействительной директивой.htaccess.Однако недавно я наткнулся на web server w/o/etc/php.ini. Я давно настроил этот сервер (Apache в chroot jail). Поэтому нужно сохранять два файла один за пределами сервера,а другой внутри сервера:
=>/etc/php.ini
=>/chroot/etc/php.ini <- этот файл отсутствует

Многие скрипты могут открыть этот файл на лету,чтобы получить правильные директивы конфигурации. Если этот файл не найден, вы получите сообщение об ошибке 500. Потребовалось некоторое время, чтобы выяснить эту проблему.

Причины и решения:

1 - система безопасности (mod_security)

mod_security-это система безопасности,которая работает на webserver для выявления типичной хакерской деятельности,если они пытаются сделать что-то на сервере.Она ищет структуры, широко используемые хакерскими скриптами и слова,и если правило срабатывает,она отправляет ошибку 500,и даже может временно заблокировать IP-адрес посетителя.
В mod_security есть правила,которые будут перечислены в журналах ошибок *и* в mod_security журнале.

2 - suexec

Если сервер настроен на использование php_suexec (который предназначен для обеспечения безопасности чуть лучше в том, как хранятся файлы и разрешения управляются с PHP скриптами), то вам не позволят установить какие-либо файлы или папки в уровни разрешений «777» («world-writable). Максимально допустимый в таких случаях, как правило, уровень разрешений 755.
В этой ситуации, если вы установите на папку уровень разрешения «777», сервер выдает 500 Internal Server Error и блокирует любые скрипты или файлы в этой папке.Заблокированные папки будут перечислены в журналах.Таким образом, в этом случае вы должны использовать уровень разрешения 755 вместо 777 при чтении инструкции, которые предполагают использование уровня разрешений «777».

3 - ошибки синтаксиса.htaccess .htaccess ограничений, налагаемых main server configuration

Если ваш сервер настроен на ограничение использования определенных директив в файлах.htaccess, но вы используете что-то не разрешенное,то будет срабатывать “500 Internal Server Error” , и ваш сайт будет недоступен, пока вы не решите проблему.
Точные правила будут записаны в журналы,например внутри каталога subdomian,убедитесь в том, что.htaccess находится в этом каталоге.

# Различные правила перезаписи.

RewriteEngine on
++++++++++++++++++++++
#Если ваш сайт работает в VirtualDocumentRoot на http://example.com/,
# раскомментируйте следующую строку:
RewriteBase / <-удалить хэш (#)

4 - ошибки PHP

Иногда,когда PHP-скрипт обнаруживает ошибку,либо из-за истечения времени ожидания или синтаксическая проблема,или что-то ещё хуже,как логическую проблему, он *может* выдать триггер 500 внутренняя ошибка сервера. Он может выдавать эту ошибку не всегда, но может.

5 - плохое содержание configure.php

Если URL-адреса или пути,или что-нибудь ещё,находятся в вашем файле configure.php -это информация для другого сервера,или не правильно для *вашего* server,то для многих как ни странно,могут возникнуть проблемы, в том числе, возможно и ошибка 500. Однако, как правило,это будут очень разные симптомы.Просто убедитесь, что Вы не скопировали файлы configure.php с одного сервера на другой, даже localhost.