Ошибка 500, 502, 503, 504

Содержание:

Больше способов увидеть внутреннюю ошибку сервера

В Internet Explorer сообщение «Веб-сайт не может отобразить страницу» часто указывает на внутреннюю ошибку сервера HTTP 500. Ошибка 405 Method Not Allowed – это ещё один вариант, но должны найти соответствующее подтверждение в строке заголовка IE.

Когда службы Google, такие как Gmail, испытывают внутреннюю ошибку сервера 500, они часто сообщают о временной ошибке (500) или просто 500.

Когда Центр обновления Windows сообщает о внутренней ошибке сервера, она отображается как сообщение WU_E_PT_HTTP_STATUS_SERVER_ERROR или как код ошибки 0x8024401F.

Если веб-сайт, который сообщает об ошибке 500, работает под управлением Microsoft IIS, вы можете получить более конкретное сообщение об ошибке:

Ошибка 500 Internal Server Error
Код Объяснение
500,0 Произошла ошибка модуля или ISAPI.
500,11 Приложение закрывается на веб-сервере.
500,12 Приложение занято перезагрузкой на веб-сервере.
500,13 Веб-сервер слишком занят.
500,15 Прямые запросы на Global.asax не допускаются.
500,19 Данные конфигурации неверны.
500,21 Модуль не распознан.
500,22 Конфигурация ASP.NET httpModules не применяется в режиме управляемого конвейера.
500,23 Конфигурация ASP.NET httpHandlers не применяется в режиме управляемого конвейера.
500,24 Конфигурация олицетворения ASP.NET не применяется в режиме управляемого конвейера.
500,50 Произошла ошибка перезаписи во время обработки уведомления RQ_BEGIN_REQUEST. Произошла ошибка выполнения конфигурации или входящего правила.
500,51 Произошла ошибка перезаписи во время обработки уведомления GL_PRE_BEGIN_REQUEST. Произошла глобальная конфигурация или ошибка выполнения глобального правила.
500,52 Произошла ошибка перезаписи во время обработки уведомления RQ_SEND_RESPONSE. Выполнение исходящего правила.
500,53 Произошла ошибка перезаписи во время обработки уведомления RQ_RELEASE_REQUEST_STATE. Произошла ошибка выполнения правила для исходящих сообщений. Правило настроено для выполнения до обновления выходного пользовательского кэша.
500,100 Внутренняя ошибка ASP.

Причины внутренней ошибки сервера?

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

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

Когда вы столкнулись с внутренней ошибкой 2337 Windows, вы можете исправить эту проблему несколькими способами. Один из способов — установить .NET Framework. Загрузите .NET Framework, используя его более новую версию и установите ее на свой компьютер. Найдите файл dotNetFx35setup.exe и дважды щелкните по значку, чтобы запустить программу. Следите за процессом установки и никогда не изменяйте параметры. После загрузки перезагрузите компьютер и запустите программу. Другой способ — удалить проблемное программное обеспечение. С помощью панели управления Windows безопасно удалите программу, выбрав опцию «Удалить». Затем запросите программное обеспечение для замены от производителя и установите его на свой компьютер.

Внутренняя ошибка 500 в Joomla

В Джумле очень часто ошибка 500 возникает при входе в админку. Подход к решению аналогичен написанному выше: диагностика + поиск решения.

Так выглядит ошибка 500 в Джумле

В Joomla лог ошибок лежит в папке logs. Файл называется error.php Если в нем пусто, то посмотрите на логи хостинга (уточните у своего хостера точное месторасположение файла). Скорее всего, вы там увидите скрипт, который выдает ошибку. Ну и дальше уже работайте с этим скриптом, устраняя ошибку.

Иногда ошибка 500 при входе в админку Joomla возникает из-за невозможности записи в папки /logs и /tmp В этом случае временно назначьте права 777 на них (затем обязательно измените на 755 и если ошибка снова проявится — пишите хостеру, т.к. это дыра в безопасности сервера).

Если и это не помогло, то пропишите в configuration.php следующее:

 
public $log_path = ‘full_path/logs’;public $tmp_path = ‘full_path/tmp’;

1
2

public$log_path=’full_path/logs’;

public$tmp_path=’full_path/tmp’;

вместо full_path нужно указать полный путь к папке (именно серверный путь, а не http адрес!).

Этих решений достаточно в 95% случаев для решения данной проблемы. Если проблема не решится, то пишите, разберемся в индивидуальном порядке.

Устраняем ошибку 500 в opencart

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

Вот виновник вопроса (лог модуля vQmod): корень_сайта/vqmod/vqmod.log

Решения два: либо время от времени по крону очищать этот файл, либо обновить vQmod до последней версии (в ней файл обнуляется каждые 7 дней).

How to Fix the 500 Internal Server Error

Like we alluded to above, the 500 Internal Server Error is a server-side error, meaning the problem probably isn’t with your computer or internet connection but instead with the website’s server.

While not probable, it is possible that there’s something wrong on your end, in which case we’ll look at some things you can try:

  1. Reload the web page. You can do that by selecting the refresh/reload button, pressing F5 or Ctrl+R, or trying the URL again from the address bar.

    Even if the 500 Internal Server Error is a problem on the web server, the issue might just be temporary. Trying the page again will often be successful.

    If the message appears during the checkout process at an online merchant, be aware that duplicate attempts to checkout may end up creating multiple orders— and multiple charges! Most merchants have automatic protections from these kinds of actions, but it’s still something to keep in mind.

  2. Clear your browser’s cache. If there’s a problem with the cached version of the page you’re viewing, it could be causing HTTP 500 issues.

    Internal Server Errors are not often caused by caching issues, but we have, on occasion, seen the error go away after clearing the cache. It’s such an easy and harmless thing to try, so don’t skip it.

  3. Delete your browser’s cookies. Some 500 Internal Server Error issues can be corrected by deleting the cookies associated with the site you’re getting the error on.

    After removing the cookie(s), restart the browser and try again.

  4. Troubleshoot as a 504 Gateway Timeout error instead. It’s not very common, but some servers produce a 500 Internal Server Error when in reality 504 Gateway Timeout is a more appropriate message based on the cause of the problem.

  5. Contacting the website directly is another option. There’s a good chance that the site’s administrators already know about the 500 error, but if you suspect they don’t, letting them know helps both you and them (and everyone else).

    If it looks like the site is down completely and you can’t find a way to report the 500 Internal Server Error message to the website, it might help your sanity to keep up with the outage on Twitter. You can usually do this by searching for #websitedown on Twitter, as in #gmaildown or .

  6. Come back later. Unfortunately, at this point, the 500 Internal Server Error is no doubt a problem outside of your control that will eventually get fixed by someone else.

If the 500 Internal Server Error message is appearing at checkout during an online purchase, it might help to realize that sales are probably being disrupted—usually a great incentive to the online store to fix the issue very quickly!

Even if you’re getting the 500 error on a site that doesn’t sell anything, like YouTube or Twitter, as long as you’ve let them know about the problem, or at least tried, there’s little more you can do than wait it out.

Описание других ошибок

Самые распространенные трудности, с которыми сталкиваются пользователи:

  • Код 38. Не хватает денежных средств для отправки сообщения. После пополнения баланса перезагрузите телефон. 
  • Код 50. Неправильно введен номер получателя, плохо ловит сигнал сети, повреждена сим-карта. Если смена номера телефона или места для отправки не помогает, то необходимо заменить сим-карту. 
  • Код 21. Сообщения не уходят, потому что их не может принять получатель. Проблему необходимо решить на другой стороне. 
  • Код 507. Нельзя сменить тариф из-за недостатка денег или проблем в личном кабинете. Нужно пополнить тариф и перезагрузить устройство, иначе необходимо поменять настройки доступа и проверить дату и время на телефоне. 

Некорректная работа новой темы для оформления сайта

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

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

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

На следующем нашем шаге заходим в панель управления WordPress и шагаем во вкладку «Внешний вид». Видим сообщение, в котором указано, что установлена новая тема оформления.

Не удаляйте стандартные темы для оформления сайта, они вам смогут пригодиться после того, как вы восстановили сайт. А если вы все-таки удалили их, то загрузите стандартные темы и установите одну из них. В нашем примере будем работать с темой «Тwentytwelve».

Следом за этим нам нужно зайти в «phpMyAdmin»

Теперь нужно будет выбрать Базу Данных вашего сайта

Дальше переходите во вкладку SQL

И введите туда такой код:

Должно это выглядеть так:

После этих действий ваш сайт снова преобразится.

Устранение ошибки 500, вызванной конфликтом плагина

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

А если доступа нет, то есть вероятность, что тот плагин, который вы установили начал конфликтовать с другими плагинами, которые вы активировали. И в этом случае остается только отключать его с помощью FTP-сервера (точно также, как отключали тему оформления сайта). Кратко: заходим на FTP сайта, на котором исправляете ошибку, затем идем в папку в которой находится установленный плагин, меняем имя, либо редактируем (можно добавить лишь один символ). В случае изменения имени при последующем переходе с консоли в «Плагины» вы увидите, что WordPress произведет его деактивацию автоматически.

Устранение ошибки 500, вызванной конфигурационным файлом .htaccess

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

Для того, чтоб исправить ошибку нам нужно будет снова зайти на FTP, ведь этот файл находится на вашем сайте, в корневой папке. Но из-за того, что название ”.htaccess” начинается с точки, то этот файл изначально является скрытым. Именно по-этому качаем FileZilla — это простой в использовании и бесплатный FTP-клиент. Устанавливаем прогу и заходим во вкладку «Сервер», затем ставим галочку на принудительном отображении скрытых файлов. После этого снова переподключитесь к FTP чтобы обновился список файлов.

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

Чтобы это осуществить вам нужно зайти в панель администрирования ресурсом, затем в «Параметры», а в них находим «Постоянные ссылки», в которых выбираем нужный нам вариант и жмем на «Сохранить».

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

Fixing 500 Internal Server Error Problems on Your Own Site

A 500 Internal Server Error on your own website requires a completely different course of action. As we mentioned above, most 500 errors are server-side errors, meaning it’s likely your problem to fix if it’s your website.

There are lots of reasons why your site might be serving a 500 Error to your users, but these are the most common:

  • A Permissions Error. In most cases, a 500 Internal Server Error is due to an incorrect permission on one or more files or folders. In most of those cases, an incorrect permission on a PHP and CGI script is to blame. These should usually be set at 0755 (-rwxr-xr-x).
  • A PHP Timeout. If your script connects to external resources and those resources timeout, an HTTP 500 error can occur. Timeout rules, or better error handling in your script, should help if this is the cause of the 500 error.
  • A Coding Error in .htaccess. While not as common, be sure to check that your site’s .htaccess file is properly structured.

If you’re running WordPress, Joomla, or another content management or CMS system, be sure to search their support centers for more specific help troubleshooting a 500 Internal Server Error.

If you’re not using an off-the-shelf content management tool, your web hosting provider, like InMotion, Dreamhost, IONOS (1&1), etc., probably has some 500 Error help that might be more specific to your situation.

Значение внутренней ошибки сервера?

Server errors happen for a number of reasons including misconfigurations on the website server, a problem with the browser or internet connection. Basically, a server error happens when the server encounters a situation that it just doesn’t know how to deal with. You can think of it as the blue screen version of the web. Some of these errors are not specific enough that you can find a fix right away. The most common server error is the «500 error». It is mostly an error with the site you’re visiting and not on your end. Some misconfigurations in the website’s server might have prevented it from responding properly.

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

Это отклонение от правильности и точности. Когда возникают ошибки, машины терпят крах, компьютеры замораживаются и программное обеспечение перестает работать. Ошибки — это в основном непреднамеренные события. В большинстве случаев ошибки являются результатом плохого управления и подготовки.

During a Windows installation process, you may encounter an error prior to finishing the procedure. Internal Error 2337 is a common issue in almost all major versions of Microsoft Windows. It has been reported in several software titles such as Microsoft Office 2003, Windows Server 2003,SQL Server 2008 and AutoCAD LT 2007. The error shows that there is corrupted data in the installation file hence the process cannot proceed. In other cases, there is a problem with the Microsoft.NET Framework. Once encountered, you will see a pop-up indicating this message, “The Installer has encountered an unexpected error installing this package.

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

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

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

Нажмите сочетание клавиш Ctrl+Shift+I или используйте меню браузера:

  • Mozilla Firefox — «Веб-разработка» → «Инструменты разработчика»;
  • Google Chrome — «Дополнительные инструменты» → «Инструменты разработчика»;
  • Opera — «Разработка» → «Инструменты разработчика».

Перейдите во вкладку «Сеть (Network)». На ошибку 500 указывает соответствующее число в колонке «Статус».

Статус пустой страницы может быть и 200 (Ok). В таком случае проверьте, есть ли содержимое в индексном файле сайта, очистите кеш вашей CMS. Если ранее сайт работал корректно, восстановите его из резервной копии.

Вывод ошибок PHP на хостинге по умолчанию выключен. Чтобы увидеть их текст, добавьте в файл .htaccess : и обновите страницу сайта.

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

1С-Битрикс

В конфигурационном файле по пути ~/public_html/bitrix/php_interface/dbconn.php замените значение переменных DBDebug и DBDebugToFile на: и

Laravel

В файле .env измените на

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

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

Откройте создавшийся файл журнала с помощью Файлового менеджера в Панели управления. Чтобы просматривать возникающие ошибки в реальном времени, отметьте опцию «Включить автообновление».

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

Для устранения некоторых ошибок не требуется специальных знаний. Рассмотрим самые распространенные.

Ошибка с текстом Allowed memory size возникает из-за нехватки оперативной памяти для выполнения скрипта:

Чтобы исправить ее, лимит оперативной памяти, добавив в файл .htaccess директиву:

Вместо «512» укажите необходимый объем памяти. Максимальное значение тарифом.

Текст Out of memory означает, что достигнут лимит оперативной памяти по тарифному плану:

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

При обновлении CMS случаются синтаксические ошибки:

Это происходит из-за того, что новые функции CMS не поддерживают устаревшие версии PHP. Чтобы исправить ошибку, измените версию PHP для сайта на более современную в разделе «Сайты и домены» → «Управление сайтами».

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

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

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

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

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

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

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

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

Если ошибка появилась давно

Если способами выше устранить сбои не удалось, то необходимо произвести следующие действия:

  1. В браузере нужно полностью очистить cookie-файлы в браузере, если вы используете его, если же используете приложение, то нужно удалить кеш-файлы через настройку мобильного телефона.
  2. Следующим шагом необходимо отключить VPN, работающие сетевые экраны и антивирусное программное обеспечение. Все они могут менять IP-адрес, а приложение блокирует сторонние входы с территории других стран, оно может считать, что пользователь пользуется приложением в роуминге или же данные были украдены.
  3. Еще одной причиной является то, что на смартфоне может быть неправильно установлена дата и время, особенно если они не совпадают с данными в мобильной сети.
  4. Еще один способ, это удаление приложения и загрузка его заново из официального маркета приложений. 

0x80070005 кода HResult

Сообщение об ошибке:

Причина

Эта проблема может возникать по одной из следующих причин:

  • Вы используете службы IIS на компьютере под управлением Windows. Кроме того, вы настраиваете веб-сайт для использования сквозной проверки подлинности UNC для доступа к общему UNC-ресурсу.
  • У группы IIS_IUSRS нет соответствующих разрешений для файла ApplicationHost.config, файла Web.config или виртуальных каталогов или каталогов приложений служб IIS.

Решение

Используйте один из следующих методов:

  • Не настраивайте на веб-сайте использование сквозной проверки подлинности UNC для доступа к удаленному общему ресурсу UNC. Вместо этого укажите учетную запись пользователя с соответствующими разрешениями на доступ к удаленному общему ресурсу UNC.

  • Предоставьте группе IIS_IUSRS разрешение на чтение для ApplicationHost.config или Web.config файла. Для этого выполните следующие действия:

    1. В проводнике Windows откройте папку, содержащую файл ApplicationHost.config, связанный с веб-сайтом, или расположение виртуальных каталогов или каталогов приложений, содержащих файл Web.config, связанный с веб-сайтом.

      Примечание

      Возможно, файл Web.config не находится в виртуальных каталогах или каталогах приложений в IIS. Даже в этом случае необходимо выполнить указанные ниже действия.

    2. Щелкните правой кнопкой мыши папку, содержащую файл ApplicationHost.config, или щелкните правой кнопкой мыши виртуальные каталоги или каталоги приложений, которые могут содержать файл Web.config.

    3. Выберите Свойства.

    4. Перейдите на вкладку Безопасность , а затем нажмите кнопку изменить.

    5. Нажмите кнопку Добавить.

    6. В поле Введите имена выбираемых объектов введите < ComputerName> \ IIS_IUSRS, выберите Проверить имена, а затем нажмите кнопку ОК.

      Примечание

      <Имякомпьютера> имя компьютера.

    7. Установите флажок Read (чтение ), а затем нажмите кнопку ОК.

    8. В диалоговом окне Свойства для папки нажмите кнопку ОК.

      Примечание

      Убедитесь, что свойства папки наследуются файлами ApplicationHost.config и Web.config, чтобы у IIS_IUSRS было разрешение на чтение этих файлов.

Ошибка HTTP ERROR 500 в браузере Google Chrome

Появление ошибки 500 в браузере может быть вызвана различными причинами. Поэтому мы перечислим ниже все способы для ее устранения:

  1. Для начала проверьте браузер и весь компьютер на наличие вредоносных или шпионских утилит с помощью онлайн программ, ведь известно, что вирусы могут имитировать или вызывать любой текст ошибки для достижения определенных целей.
  2. Очистите браузер. Если долгое время не чистить браузер от лишних файлов, которые в нем сохраняются, то возможны различные ошибки в его работе, в том числе и ошибка HTTP ERROR 500. Эти файлы не только приводят к ошибкам, но еще и снижают быстродействие браузера.
  3. Компания Microsoft регулярно производит улучшения и обновления своей операционной системы Windows. Данная ошибка может являются результатом устаревшего компонента Windows и возникать в браузере Google Chrome. Поэтому, чтобы ее устранить, необходимо проверить наличие обновлений на официальном сайте Microsoft для вашей версии ОС.
  4. Если ошибка появляется при переходе на любой сайт и не решается ни одним способом, переустановите браузер, удаляя дополнительным ПО скрытые папки и файлы. (Как посмотреть скрытые файлы в Windows 7, 8, 10 и XP?).

Также у вас может появляться ошибка с кодом 500 Internal Server Error.

Подробнее про ошибки

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

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

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

How You Might See a 500 Error

The error message might be seen in any number of ways because each website is allowed to customize the message.

Lifewire / Hugo Lin

Here are several common ways that you might see the HTTP 500 error:

  • 500 Internal Server Error
  • HTTP 500 — Internal Server Error
  • Temporary Error (500)
  • Internal Server Error
  • HTTP 500 Internal Error
  • 500 Error
  • HTTP Error 500
  • 500. That’s an error

Since a 500 Internal Server Error is generated by the website you’re visiting, you could see one in any browser in any operating system, even on your smartphone.

Most of the time, it displays inside the browser window, just as web pages do.

Проблемы с файлом .htaccess

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

Найдите в корне сайта этот файл «.htaccess». После чего скопируйте его в другое место, чтобы не потерять. Теперь удалите его из сайта. Если все стало на свои места, значит проблема именно в этом файле. В этом случае возьмите файл из нового дистрибутива вашей CMS (Системы управления сайтом).

Найдите и удалите файл .htaccess

Можно просмотреть сведения об ошибках сервера. Все они заносятся в специальный файл под именем – «error.log». Открыв его, вы можете найти информацию о том, какая именно из ваших директив является конфликтной. К примеру, «Invalid command ‘Prive’ сообщает нам о том, что ‘Price’ директива содержит опечатку, исправив «v» на «c» решится данная проблема.

Как исправить 500 internal server error Nginx

Дословно Internal server error означает внутренняя ошибка сервера. И вызвать её могут несколько проблем. Вот основные из них:

  • Ошибки в скрипте на PHP — одна из самых частых причин;
  • Превышено время выполнения PHP скрипта или лимит памяти;
  • Неправильные права на файлы сайта;
  • Неверная конфигурация Nginx.

А теперь рассмотрим каждую из причин более подробно и разберем варианты решения.

1. Ошибка в скрипте PHP

Мы привыкли к тому, что если в PHP скрипте есть ошибки, то сразу же видим их в браузере. Однако на производственных серверах отображение сообщений об ошибках в PHP отключено, чтобы предотвратить распространение информации о конфигурации сервера для посторонних. Nginx не может отобразить реальную причину ошибки, потому что не знает что за ошибка произошла, а поэтому выдает универсальное сообщение 500 internal server error.

Чтобы исправить эту ошибку, нужно сначала понять где именно проблема. Вы можете включить отображение ошибок в конфигурационном файле php изменив значение строки display_errors с off на on. Рассмотрим на примере Ubuntu и PHP 7.2:

Перезапустите php-fpm:

Затем обновите страницу и вы увидите сообщение об ошибке, из-за которого возникла проблема. Далее его можно исправить и отключить отображение ошибок, тогда все будет работать. Ещё можно посмотреть сообщения об ошибках PHP в логе ошибок Nginx. Обычно он находится по пути /var/log/nginx/error.log, но для виртуальных доменов может настраиваться отдельно. Например, смотрим последние 100 строк в логе:

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

2. Превышено время выполнения или лимит памяти

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

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

Если же отображение ошибок отключено, мы получаем error 500

Обратите внимание, что если время ожидания было ограничено в конфигурационном файле Nginx, то вы получите ошибку 504, а не HTTP ERROR 500, так что проблема именно в php.ini

Чтобы решить проблему увеличьте значения параметров max_execution_time и memory_limit в php.ini:

Также проблема может быть вызвана превышением других лимитов установленных для скрипта php. Смотрите ошибки php, как описано в первом пункте. После внесения изменений в файл перезапустите php-fpm:

3. Неверные права на файлы

Такая ошибка может возникать, если права на файлы, к которым обращается Nginx установлены на правильно. Сервисы Nginx и php-fpm должны быть запущены от имени одного и того же пользователя, а все файлы сайтов должны принадлежать этому же пользователю. Посмотреть от имени какого пользователя запущен Nginx можно командой:

Чтобы узнать от какого пользователя запущен php-fpm посмотрите содержимое конфигурационного файла используемого пула, например www.conf:

В моем случае это пользователь nginx. Теперь надо убедится, что файлы сайта, к которым вы пытаетесь обратиться принадлежат именно этому пользователю. Для этого используйте команду namei:

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

Этой командой мы меняем владельца и группу всех файлов в папке на nginx:nginx. Добавить права на чтение для всех пользователей для каталога можно командой chmod. Например:

Далее все должно работать. Также, проблемы с правами может вызывать SELinux. Настройте его правильно или отключите:

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

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

Т. е. будет указанна какая директива ошибочна. В данном случае это директива RewritRule, потому что такой директивы нет есть директива RewriteRule и она в данном случае написана с ошибкой. Подробнее о файле .htaccess и его настройке смотрите статью: Файл htaccess и его настройка — более 27 примеров использования.

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

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

Рекомендуем ознакомиться:

Подробности

Опубликовано: 28 Октябрь 2013

Обновлено: 28 Октябрь 2013

Просмотров: 113541

Материнская плата: что, к чему и почему?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector