500 Internal Server Error — Как можно исправить? Modx error 500 internal server error


Что за ошибка 500 Internal Server Error и как её исправить

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

Диагностика ошибки 500 Internal Server Error

Важно помнить, что эта ошибка происходит на стороне сервера. Это значит, что HTML-код, выполняемый на стороне клиента, а также JavaScript или любые другие запущенные в браузере объекты, не могут быть источником ошибки 500 Internal Server Error. Само название (Internal Server Error – ‘внутренняя ошибка сервера’) говорит о том, что ошибка происходит на сервере.

Устранение ошибки на популярных платформах

Многие пользователи устанавливают на свой сервер популярные CMS-системы, такие как WordPress, Joomla, Drupal и они не должны вызывать ошибку 500, если всё настроено правильно. Однако она всё равно всплывает – из-за несовместимости версий, некачественных установок или сбоя прав доступа на сервере.

Вот некоторые распространённые проблемы, которые могут вызывать подобную ошибку в часто используемых CMS:

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

Устранение ошибки на стороне серверных скриптов

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

Чтобы справиться с такой ошибкой, попробуйте следующие решения:

Попросите помощи у системного администратора

В некоторых случаях у разработчиков нет полного контроля над сервером.

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

Ошибку 500 Internal Server Error довольно легко устранить

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

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

Перевод статьи “500 Internal Server Error: What It Is And How To Fix It” был подготовлен дружной командой проекта Сайтостроение от А до Я.

www.internet-technologies.ru

Ошибка 500 Internal Server Error: исправляем проблему

500 Internal Server Error

Ошибка 500 internal server error– внутренняя ошибка сервера, говорящая о неработоспособности какого-либо из его компонентов. В сообщении об ошибке не указывается конкретная проблема и не предлагаются способы её решения. Ситуация описывается в целом: сервер работает, но в его конфигурации или в каком-то малозначимом скрипте допущена фатальная ошибка, из-за которой обработка запросов невозможна и сервер не отвечает.

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

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

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

Методы решения

Превышение лимитов

Первым делом нужно проверить, нет ли на сайте скриптов, которые слишком долго выполняются. Стоит помнить, что абсолютно все хостинг-провайдеры устанавливают жесткие ограничения на время выполнения, чтобы снизить нагрузку на собственные сервера. Если скрипт на сайте «долго думает», его просто завершают, дабы не страдали другие сайты на сервере. Результат принудительного завершения – ошибка с кодом 500. Если веб-мастер имеет непосредственный доступ к серверу, на котором расположен сайт, выявить скрипты с долгим выполнением будет легко. Достаточно отследить время выполнения каждого и найти нужный, возможно, он будет не один. А если удалять найденный скрипт никак нельзя, не будет проблемой поднять лимит на время выполнения в конфигурации сервера. Другой случай, если сайт расположен на виртуальном хостинге: без помощи технической поддержки решить проблему не удастся. Однако, администрация большинства хостингов редко идет на встречу – скорее всего, владельцу просто предложат перейти на тариф подороже.

Помимо лимита на время, существует и лимит оперативной памяти, которая доступна для выполнения скрипта. Если сайт построен на базе сложного и тяжелого движка с массой различных функций, наверняка, он будет резервировать для своей работы довольно большой объем ОЗУ сервера. Естественно, на хостинге она не бесконечная. Если вы используете бюджетное решение то на одном сервере администрация хостинга может размещать несколько сотен сайтов, поэтому если какой-то один будет потреблять много ресурсов, все остальные начнут работать гораздо медленнее. Лимит памяти так же, как и временной, указывается в конфигурации сервера. Имея прямой доступ, лимит можно повысить. Если же доступа к серверу нет, придется просить администрацию найти «прожорливый» скрипт и сообщить о нем владельцу. После нахождения тяжелого скрипта можно попытаться его оптимизировать, обратившись к программисту или самостоятельно удалив из кода ненужный функционал.

память

Ошибка в .htaccess

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

htaccess

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

лог

Из данного лога следует, что проблема вызвана директивой “RewritRule”. Это очевидная синтаксическая ошибка. Название директивы было напечатано неправильно – пропущена одна буква – вместо “RewtiteRule” получилось “RewritRule”, соответственно, вся конструкция оказалась неверной. Файл .htaccess не допускает даже столь незначительных огрехов, выдавая ошибку с кодом 500.

Неправильные права доступа

Из-за неправильно выставленных прав доступа скрипт может не работать. Однако, ошибка 500 возникает в противоположном случае: если скрипт имеет излишне высокие права с кодом 777. Объясняется это мерой безопасности самого сервера. Редкому скрипту по-настоящему нужны абсолютные права, между тем, такой скрипт может оказаться вредоносным шеллом, который встроит в сайт ненужный код или вовсе удалит все расположенные на сервере файлы вместе с ним самим, выполнив команду -rm -rf. Если уж и решаться заливать на сайт php-файл с правами 777, то только от очень проверенного разработчика, сомнений в добросовестности которого нет. Кроме того, зачастую сами хостеры блокируют возможность выдачи файлам абсолютных прав, что, несомненно, правильно.

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

В серверный файловых менеджерах с GUI интерфейсом установка прав выполняется в контекстном меню:

права

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

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

Рейтинг статьи: Tweet

 

seooki.ua

Ошибка 500 - Internal Server Error [Справочная информация по Виртуальному хостингу]

500 Internal Server Error — это любая внутренняя ошибка сервера, которая не описана другими ошибками этого же класса.

При появлении сообщения о ошибке - необходимо перейти по FTP в каталог 0:/domains/SITE.NAME/logs/ и открыть файл error.log. В конце файла будет указана строка поясняющая причины приведшие к ошибке.

Рассмотрим причины, которые могут привести к ошибке 500:

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

Наиболее частой причиной ошибки 500 (Internal Server Error, внутренняя ошибка сервера) является неверный синтаксис файла .htaccess или наличие в нем неподдерживаемых директив.

Вы можете открыть файл .htaccess текстовым редактором и найти строки, в начале которых используются указанные конструкции. Найденные строки можно удалить или добавить в начале строки символ - #1). Файл .htaccess может находиться в корневом каталоге вашего сайта - на том же уровне, что и файлы index.php или index.html или robots.txt.

Неправильное обращение с CGI-скриптами

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

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

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

В результате работы CGI-скрипта сформированы неправильные HTTP-заголовки ответа. В этом случае для решения проблемы полезно обратиться к error.log (его можно найти в каталоге 0:/domains/site.ru/logs/).

Медленная работа скрипта

Медленная работа скрипта. Например, есть ограничения от веб-сервера: если скрипт не активен в течение 60 секунд или зависает, то он завершается под видом ошибки 500.

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

Обычно достаточно поменять тарифный план на тариф с большим объемом PHP памяти.

Неверные права на папки или файлы

Убедитесь, что Вы нигде не выставили права /chmod 777 - ни на файлы, ни на папки.

В целях безопасности на наших серверах нельзя использовать данные права. Выставьте для папок 755, для файлов 644. Уверяем Вас, скрипты будут работать прекрасно с указанными правами, даже если в требованиях к скрипту есть установка прав 777.

Несовместимость версий PHP

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

Используйте актуальные версии CMS и плагинов, ознакомьтесь с их спецификациями.

Для изменения версии PHP воспользуйтесь следующей инструкцией.

Несовместимость расширений PHP

В php.ini включены не совместимые друг с другом расширения php. Например, одновременное включение eaccelerator и APC, либо eaccelerator и XCache почти наверняка будет приводить к ошибке Segmentation Fault и, как следствие, к ошибке 500 Internal Server Error на сайте.

Перенос строки не совместим с unix-форматом

Если Вы редактировали какие либо файлы сайта в ОС Windows, то при сохранении в файл могли добавиться не совместимые с unix-форматом символы переноса строки.

Для корректной работы необходимо использовать совместимые с unix-форматом переносы строк. Например, в Notepad++ этот параметр можно настроить в меню «Правка» → «Формат конца строк» → «Преобразовать в UNIX-формат».

Установка плагина, шаблона или других дополнений

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

Обычно это делается через панель администратора или по FTP соединению.

Если Вы все проверили, но не смогли найти ошибку, то создайте заявку в нашу службу поддержки, которая обязательно Вам поможет!

wiki.ipipe.ru

500 Internal Server Error - Как можно исправить? — Toster.ru

Проблема вот в чем: Ставлю CMS на Denwer, все работает прекрасно! Ставлю на VDS'ку, получаю ошибку 500 Internal Server Error. Полистал на форумах, и нашел такое решение (RewriteBase /). Поставил, после этого появился белый экран. После того как перезагрузил машинку, получил всё туже ошибку. Не знаете как исправить? Вот содержимое файла .htaccessOptions +FollowSymLinks -MultiViews +Indexes <FilesMatch "\.(htaccess|htpasswd|ini|log|sh|inc|bak|tpl)$"> Order Allow,Deny Deny from all </FilesMatch> RewriteEngine on RewriteBase / RewriteOptions MaxRedirects=1 RewriteCond %{REQUEST_FILENAME} -f [NC,OR] RewriteCond %{REQUEST_FILENAME} -d [NC] RewriteRule .* - [L] # Installer RewriteRule ^install/?$ install.php [L] # Static Pages RewriteRule ^static/([^/]+)/?$ static.php?url=$1 [L] # Sign(in|up|out) RewriteRule ^signin/?$ signin.php [L] RewriteRule ^signup/?$ signup.php [L] RewriteRule ^signout/?$ signout.php [L] RewriteRule ^reset/?$ reset.php [L] RewriteRule ^activation/([^/]+)/([^/]+)/?$ activation.php?id=$1&token=$2 [L] # Social Logins RewriteRule ^connect/([^/]+)/?$ connect.php?provider=$1 [L] RewriteRule ^revoke/([^/]+)/?$ revoke.php?provider=$1 [L] # Search RewriteRule ^search/?$ index.php?view=search [L] RewriteRule ^search/hashtag/([^/]+)/?$ index.php?view=search&query=$1&hashtag=1 [L] RewriteRule ^search/([^/]+)/?$ index.php?view=search&query=$1&hashtag=0 [L] # Friends Requests RewriteRule ^friends/requests/?$ friend_requests.php [L] RewriteRule ^friends/requests/([^/]+)/?$ friend_requests.php?view=$1 [L] # Messages RewriteRule ^messages/?$ messages.php [L] RewriteRule ^messages/([^/]+)/?$ messages.php?cid=$1 [L] # Notifications RewriteRule ^notifications/?$ notifications.php [L] # Settings RewriteRule ^settings/?$ settings.php [L] RewriteRule ^settings/([^/]+)/?$ settings.php?view=$1 [L] # Posts & Photos RewriteRule ^posts/([^/]+)/?$ post.php?post_id=$1 [L] RewriteRule ^photos/([^/]+)/?$ photo.php?photo_id=$1 [L] # Pages & Groups RewriteRule ^create/page/?$ index.php?view=create_page [L] RewriteRule ^create/group/?$ index.php?view=create_group [L] RewriteRule ^pages/?$ index.php?view=pages [L] RewriteRule ^pages/([^/]+)/?$ page.php?username=$1 [L] RewriteRule ^pages/([^/]+)/([^/]+)/?$ page.php?username=$1&view=$2 [L] RewriteRule ^groups/?$ index.php?view=groups [L] RewriteRule ^groups/([^/]+)/?$ group.php?username=$1 [L] RewriteRule ^groups/([^/]+)/([^/]+)/?$ group.php?username=$1&view=$2 [L] # Games RewriteRule ^games/?$ index.php?view=games [L] RewriteRule ^games/([^/]+)/?$ game.php?id=$1 [L] # Admin RewriteRule ^admin/?$ admin.php [L] RewriteRule ^admin/([^/]+)/?$ admin.php?view=$1 [L] RewriteRule ^admin/([^/]+)/([^/]+)/?$ admin.php?view=$1&sub_view=$2 [L] RewriteRule ^admin/([^/]+)/([^/]+)/([^/]+)/?$ admin.php?view=$1&sub_view=$2&id=$3 [L] # Profile RewriteRule ^([^/]+)/?$ profile.php?username=$1 [L] RewriteRule ^([^/]+)/([^/]+)/?$ profile.php?username=$1&view=$2 [L]

LOG

toster.ru

Ошибка 500 internal server error. Как ее исправить.

Ошибка 500 internal server error. Как ее исправить.

Ошибка 500 Internal server error. The server encountered an internal error or misconfiguration and was unable to complete your request (внутренняя ошибка сервера) возникает вследствие целого букета различных неполадок на самом сайте. Окно с ошибкой выглядит по-разному для каждого сервера, но суть, однако, для всех их одна. Примеры скриншотов с ошибкой:

 

google500.png

С сайта Google

 

youtube500.png

С сайта YouTube

 

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

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

Неполадки могут возникнуть после загрузки файла Localstart.asp. Убедитесь, что пользователи имеют доступ на запуск сценария, указанного в данном файле. Для проверки перейдите на вкладку Администрирование (можно найти через меню «Пуск»), щелкните по команде «Службы IIS», затем найдите «Веб-узел по умолчанию», выберите свойства искомого файла. На вкладке «Безопасность (файлов)» найдите строчку «Анонимный доступ» и снимите флажок, если он там установлен. Проверьте работоспособность сервера. Внимание! В различных версиях Windows путь к данному файлу может выглядеть по-разному.

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

Также удостоверьтесь в том, что имеется соответствующий допуск к файлам (его можно изменить по FTP), а также, что содержащиеся скрипты передаются по текстовому ASCII-режиму (не допускается использование других кодировок!). Опять же, откройте на сервере error.log и взгляните на текст ошибки. Если она имеет вид : «Premature end of script headers…», то это тот самый случай. Проверьте правильность использования скрипта, он должен изначально содержать  строку, идентифицирующую тип загружаемого контента (пример: Content-type: text) и лишь затем, собственно, сам контент. Исправьте заголовки и перезапустите сервер. Ошибка 500 не исчезла? Вероятно, вам придется провести проверку скрипта целиком, сверяясь с соответствующими диагностическими материалами.

Возможно Вам будут интересны следующие материалы

 

 

kzncomputer.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта