Отчего возникает ошибка 500 (Internal Server Error)? — Вопросы и ответы — Джино

Наиболее частой причиной ошибки 500 (Internal Server Error, внутренняя ошибка сервера) является неверный синтаксис файла .htaccess или наличие в нем неподдерживаемых директив. Чаще всего достаточно закомментировать директиву Options (для этого нужно поставить в начале строки решетку — #), и проблема исчезнет.

Ошибка 500 также может возникать вследствие неправильного обращения с CGI-скриптами:

  • CGI-скрипты должны иметь окончания строк в формате UNIX (\n), а не в формате Windows (\r\n). Для этого их надо загружать на сервер по FTP в режиме ASCII.

  • CGI-скрипты и папки, в которых они находятся, должны быть доступны для записи только владельцу, то есть иметь права 0755 (drwxr-xr-x).

  • В результате работы CGI-скрипта сформированы неправильные HTTP-заголовки ответа. В этом случае для решения проблемы полезно обратиться к error_log (его можно найти в контрольной панели в разделе «Хостинг / Статистика / Лог-файлы / Ошибки»).

Смотрите также: 404, 502, 301 — что это? Главное о кодах состояния сервера

  • Отчего возникает ошибка 403 (Forbidden)?
  • Отчего возникает ошибка 404 (Not Found)?
  • Отчего возникает ошибка 503 (Service Temporarily Unavailable)?
  • Загружены файлы в кодировке UTF-8, но вместо русского текста в них «иероглифы». Как это исправить?
  • На моем сайте вместо русских символов одни знаки вопроса. Как это исправить?
  • Почему не работает скрипт?
  • Служба техподдержки попросила меня прислать результаты трассировки и пинга. Как это сделать?
  • Служба техподдержки попросила меня проверить командой telnet, открыт ли порт. Как это сделать?
  • Как проверить сайт на вирусы?
  • На моем сайте обнаружен вирус. Что делать?
  • Почему вместо результатов работы PHP-скрипта я вижу лишь пустую белую страницу?
  • Почему вместо результатов работы PHP-скрипта скачивается файл index.php?
  • Почему у меня не работает SSI?

Пример: Как подключить SSH

ОШИБКА 500 «INTERNAL SERVER ERROR» НА СЕРВЕРЕ — База знаний

ОШИБКА 500 «INTERNAL SERVER ERROR» НА СЕРВЕРЕ — База знаний — AdminVPS

Когда возникает и что такое внутренняя ошибка 500 сервера?

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

Причинами появления ошибки на виртуальном хостинге могут быть:

  1. Неверный синтаксис файла .htaccess  или наличие в нем неподдерживаемых директив. Чаще всего достаточно закомментировать директиву Options (для этого нужно поставить в начале строки решетку — #), и проблема исчезнет.

    Также может помочь замена текущего файла .htaccess на стандартный для вашей CMS.

  2. Ошибка в скриптах. Если существует ошибка в скрипте, или при наличии функции, которая не выполняется. Для успешного запуска скрипта функция должна быть верно прописана, поддерживаться сервером и выполняться от используемой версии PHP. Бывают ситуации, когда функция несовместима с определенными версиями PHP. Получить более подробную информацию о той или иной функции можно в интернете.
  3. Не хватает оперативной памяти. Если в логах вы видите ошибку «Allowed memory size», для устранения ошибки 500 стоит оптимизировать работу скрипта.
    Вы можете воспользоваться специальными расширениями для анализа производительности скрипта или обратиться за помощью к специалисту, который поработает над его оптимизацией. Если ваш сайт размещен на отдельном физическом или виртуальном сервере, можно попробовать увеличить максимальное использование оперативной памяти на процесс (memory_limit). На шаред хостинге этот параметр обычно не изменяется, но есть возможность перейти на VPS.
  4. Ошибка в коде CMS — программы, которые помогают в создании сайта и управлении содержимым. 

 

Устранение ошибки

  • Неверный синтаксис файла .htaccess 

    У файла .htaccess довольно строгий синтаксис, поэтому неверно написанные директивы (команды) могут привести к ошибке. Попробуйте поочередно удалить команды, добавленные последними, и проверьте работу сайта. Также найти проблемную директиву можно с помощью логов ошибок. На ошибку в директиве обычно указывает фраза «Invalid command». Информацию о верном написании директивы или способе исправления ошибок в

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

  • Ошибки в скриптах сайта

    а) Скрипт не запускается. Обычно это происходит, когда существует ошибка в скрипте, или при наличии функции, которая не выполняется. Для успешного запуска скрипта функция должна быть прописана верно, поддерживаться сервером и выполняться от используемой версии PHP. Бывают ситуации, когда функция несовместима с определенными версиями PHP. Получить более подробную информацию о той или иной функции можно в общем доступе интернета.

    б) Не хватает оперативной памяти. Если в логах вы видите ошибку «Allowed memory size», для устранения ошибки 500 стоит оптимизировать работу скрипта. Вы можете воспользоваться специальными расширениями для анализа производительности скрипта или обратиться за помощью к специалисту, который поработает над его оптимизацией.

    Если ваш сайт размещен на отдельном физическом или виртуальном сервере, можно попробовать увеличить максимальное использование оперативной памяти на процесс (memory_limit). На шаред хостинге этот параметр обычно не изменяется, но есть возможность перейти на VPS.

  • Ошибка в CMS 

    Если код CMS содержит неверный синтаксис, это может вывести сайт из строя. В таком случае логи сообщат вам об ошибке 500 текстом «

    PHP Parse error: syntax error, unexpected». Так происходит, когда некорректно работает плагин (или тема, используемая в CMS, но реже) либо при наличии ошибки в коде. Ошибка может быть допущена случайно, произойти при обновлении плагина или версии CMS.

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

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

Если вам не удалось самостоятельно устранить ошибку 500, обратитесь в техподдержку.

  • ОШИБКА 500, Internal Server Error, ошибка 500
  • 0 Пользователи нашли это полезным

Помог ли вам данный ответ?

Похожие статьи

Ошибки 500, 502, 503, 504 на сайте

Ошибка 500 на виртуальном хостинге «Internal Server Error» Когда возникает и что такое…

ОШИБКА 502 «BAD GATEWAY» КАК ЕЕ ИСПРАВИТЬ?

Ошибка 502 на виртуальном хостинге «Bad Gateway» Ошибка 502 возникает когда Apache работает в…

КАК УСТРАНИТЬ ОШИБКУ 503 «SERVICE TEMPORARILY UNAVAILABLE»?

Ошибка 503 на виртуальном хостинге «Service Temporarily Unavailable» У каждого аккаунта на. ..

ОШИБКА 504 «GATEWAY TIMEOUT»

Ошибка 504 на виртуальном хостинге «Gateway timeout» Эта ошибка может возникнуть в случае, если…

ОШИБКА 403 FORBIDDEN

Ошибка 403 Как правило, ошибка 403 возникает из-за неточностей при размещении сайта на хостинге….

Powered by WHMCompleteSolution


Загрузка…

Ошибка 500 — WPML

Ошибка 500 означает, что в коде PHP, который работает на вашем сайте, есть ошибка. Когда ошибки не обнаружены, сервер останавливает все и возвращает страницу с надписью «Ошибка 500». Разные серверы настроены на отображение этих 500 ошибок немного по-разному, но все они означают одно и то же — в коде сайта есть необработанная PHP-ошибка.

Во-первых, нужно посмотреть, что это за ошибки. Предположение о том, в чем может быть проблема, и попытки найти другие решения могут привести к еще большим неприятностям. Если вы видите 500 ошибок, ваш первый шаг — включить отладку. Вы можете сделать это, добавив несколько строк в файл сайта wp-config.php. С включенным журналом ошибок вы увидите, в чем проблема.

Недостаточно памяти

Наиболее частая причина ошибки 500 — нехватка памяти на вашем сервере. Это может произойти, если перед активацией плагина объем памяти был минимальным, а при активации этого плагина памяти недостаточно.

В файле журнала ошибок вы увидите что-то вроде:

Допустимый размер памяти YOUR_LIMIT байт исчерпан (попытка выделить SOME_MEMORY байт) в...

Если первое число (YOUR_LIMIT) меньше 128M, оно означает, что вы должны увеличить объем памяти, выделенной для PHP. Часто вы можете увеличить объем доступной памяти, как описано в документации по настройкам памяти WordPress.

Однако, если число YOUR_LIMIT очень велико или его увеличение не помогает, код может запускать бесконечный цикл (функции вызывают друг друга в бесконечном цикле). Чтобы отладить что-то подобное, воспользуйтесь нашим форумом технической поддержки. Объясните проблему, покажите ошибку PHP, и наши сторонники помогут.

Конфликт кода

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

Поскольку ваш сайт застрял в состоянии ошибки 500, вы не можете использовать администратора WordPress для внесения изменений и устранения неполадок. Используйте программу FTP и перейдите в каталог плагинов (wordpress>wp-content>plugins). Удалите все плагины, которые, как вы подозреваете, связаны с конфликтом. Вы также можете безопасно удалить плагины WPML. Удаление плагинов WPML не меняет информацию о языке на вашем сайте. После разрешения конфликта снова включите WPML, и вся языковая информация будет восстановлена.

Совместимость с версиями WordPress

Следующая популярная проблема — совместимость с версиями WordPress. Команда WPML всегда выпускает версии перед новыми выпусками WordPress. Обязательно обновите WPML для используемой версии WordPress. Всегда рекомендуется запускать новейшую версию WordPress (наиболее стабильную и безопасную) с новейшей версией WPML. Перед обновлением рекомендуем сделать тестовое обновление на тестовой копии вашего сайта. Это поможет вам убедиться, что ваша тема и ВСЕ плагины полностью совместимы с новой версией WordPress.

Совместимость с версиями PHP и расширениями PHP

WPML работает с широким спектром версий PHP (полную информацию см. в минимальных требованиях). Стандартная сборка PHP поставляется со списком расширений по умолчанию. В некоторых редких случаях хостинговые компании отключают определенные расширения, которые им не нравятся. Если это произойдет, вы увидите ошибки, указывающие на то, что какое-то расширение или функция не существует.

Когда вы видите что-то подобное, лучше всего сообщить об этом на нашем форуме технической поддержки. Наши сторонники устранят неполадки и увидят, чего не хватает. Затем мы будем работать с вашим хостинг-провайдером, чтобы включить то, чего не хватает.

Код ошибки: 500 Внутренняя ошибка сервера. Запрос был отклонен фильтром HTTP. Свяжитесь с администратором сервера.

Зубаир Александр

/

16 сентября 2010 г.

/

На днях я работал над своим Microsoft Office SharePoint Server (MOSS) 2007 и обнаружил, что когда я нажимаю на созданный мной новый тип контента, в моем браузере возникает следующая ошибка.

Код ошибки: 500 Внутренняя ошибка сервера. Запрос был отклонен фильтром HTTP. Свяжитесь с администратором сервера.



Сначала я просмотрел различные настройки на своем сервере SharePoint, чтобы убедиться, что все в порядке. Я не смог найти ничего подозрительного на сервере, поэтому перешел к следующему шагу и изучил сообщение об ошибке. Ошибка указывала на то, что мой запрос был отклонен фильтром HTTP, поэтому я знал, что мне нужно устранить проблему на моем ISA Server 2006, который фильтрует запросы HTTP. Проведя небольшое исследование, я обнаружил, что отключение опции проверки нормализации может помочь решить мою проблему, и, к счастью, это произошло. Нормализация — это процесс декодирования запросов, закодированных в URL. Отключив этот параметр, я не буду блокировать запросы с URL-адресами, содержащими экранированные символы после нормализации. Вот пошаговая процедура.

  1. Запустите консоль управления ISA Server 2006.
  2. Перейти к политике брандмауэра.
  3. Щелкните правой кнопкой мыши правило веб-политики, разрешающее доступ к серверу SharePoint, и выберите Настроить HTTP.
  4. Снимите флажок Проверить нормализацию, как показано ниже.
  5. Вам не нужно менять параметр на Блокировать символы старшего бита , как показано на снимке экрана. Вы можете оставить его по умолчанию на вашем сервере. На своем сервере я выбрал параметр, указывающий, что URL-адреса с высокоразрядными символами блокируются, поскольку это может помочь блокировать некоторые атаки на веб-серверы, на которых запущены информационные службы Интернета (IIS). Недостатком выбора этого параметра является то, что он также может блокировать запросы и ответы, содержащие символы одного из нескольких языков, для которых требуются высокоразрядные символы.
  6. Примените изменения, внесенные в ваш ISA Server 2006, и ошибка на вашем сервере SharePoint должна немедленно исчезнуть.

Если вам интересна опция проверки нормализации, вот еще информация от Microsoft TechNet.

Веб-серверы получают запросы, закодированные в URL-адресе. Это означает, что определенные символы могут быть заменены знаком процента (%), за которым следует определенное число. Например, %20 соответствует пробелу, поэтому запрос http://myserver/My%20Dir/My%20File.htm аналогичен запросу http://myserver/My Dir/My File.htm. Нормализация — это процесс декодирования запросов, закодированных в URL.

Поскольку % может быть закодирован в URL-адресе, злоумышленник может отправить тщательно сформированный запрос на сервер, который в основном имеет двойное кодирование. В этом случае информационные службы Интернета (IIS) могут принять запрос, который в противном случае был бы отклонен как недействительный. При выборе Verify Normalization фильтр HTTP нормализует URL-адрес два раза. Если URL-адрес после первой нормализации отличается от URL-адреса после второй нормализации, фильтр отклоняет запрос. Это предотвращает атаки, основанные на запросах с двойным кодированием.

Обратите внимание, что хотя мы и рекомендуем вам использовать функцию проверки нормализации, она также может блокировать законные запросы, содержащие %.

Передовой опыт

  1. Рекомендуется всегда документировать изменения, внесенные на сервере. Документирование конфигурации сервера занимает немного вашего времени, но впоследствии может сэкономить вам часы, а то и дни или недели.
  2. При создании сайта, списка или библиотеки SharePoint убедитесь, что вы не используете пробел. Вы всегда можете вернуться и создать пробелы в имени постфактум, чтобы сделать его более читаемым.