Ошибка 405 или 500 в HTTP сервисе 1С
Ошибка 405 и 500 в HTTP сервисе 1С. Поиск и устранение.
Добрый день, хотел поделиться с вами результатом преодоления этих ошибок при работе с http сервисами 1С. С данной ошибкой мне пришлось столкнуться при переписывании мобильного приложения с web сервисов на http. Ошибка возникала при отправке http сервису POST запроса.
Ошибка 405
При работе с некорректным HTTP сервисом из мобильного приложения возвращалась ошибка 405, которая указывает на конкретную проблему. «405 Method Not Allowed — указанный клиентом метод нельзя применить к текущему ресурсу.» Долго не мог разобраться с данной ошибкой, так как в сервисе запрос был разрешен и шаблоны были настроены корректно.
Ошибка 500
При работе с некорректным HTTP сервисом из внешних программ возвращалась ошибка 500, которая ни о чем конкретном не говорит. «500 Internal Server Error — любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса».
Вроде HTTP сервис один, а при использовании запросов к нему из разных программ возвращались разные ошибки.
Расследование ошибок 405 и 500 в HTTP сервисе 1С
Времени на выяснение причин ушло очень много. За несколько дней до этой задачи мною были проведены десятки экспериментов по сборке и настройке web сервера apache 2.4 x64 SSL для работы с 1С. Все настройки в основном были связаны с кросс доменными запросами из web приложения на javascript. Столкнувшись с ошибками 405 и 500 на другом проекте я сразу полез в дебри конфигурации apache. После полного удаления apache поставил IIS и на нем вышла такая же ошибка. Поднял на виртуальной машине чистую систему, попробовал apache и iss, но ошибка так и проявлялась. Потом я вспомнил, что одна функция мобильного приложения уже давно использует http сервис и там все прекрасно работает. Создал http сервис с базовыми настройками и все заработало.
Как только я переносил код из web сервиса в функции http сервиса, сразу появлялись ошибки. Самое интересное, что отладка не срабатывала, т.е. POST запрос в пустую функцию приходил и отрабатывал, а в функцию с кодом нет.
На многих форумах ошибку 405 описывают как ошибку доступа, либо не корректную настройку http сервиса.
Итог разбора ошибок 405 и 500 в HTTP сервисе 1С.
В итоге все оказалось довольно просто. Функция, которая вызывалась внутри функции http сервиса 1с не могла быть вызвана из данного модуля. Странно, что при сохранении конфигурации никакой ошибки на вызов отсутствующей функции не было. Возможно это глюк версии платформы и будет доработан. При использовании web сервисов, даже если код внутри функции был не корректный, отладка работала. В http сервисе сразу идет возврат с ошибками 405 или 500.
P.S. В последней версии платформы ошибка 405 перестала выходить.
Обновление 12.01.2019
В процессе работы часто приходится сталкиваться с ошибками 405 и 500 в HTTP сервисах. Но проблема в 99% случаев в коде сервиса. Возможно это не явно, код вас может уводить глубоко в другие модули, но решение надо искать именно там.
Сейчас у меня такие ошибки начинают и в рабочих проектах. Стоит только внести небольшое изменение которое вызывает исключительную ситуацию, как вы получите ошибку 500. Мобильный клиент ведет себя еще более странно и отловить реальную ошибку очень тяжело, особенно когда переделывает чужие формы под мобильный клиент.
В данный момент я начинаю с того, что отключаю вызов всех функций и процедур начиная со входа в обработчики HTTP сервиса и смотрю как проходят запросы. Если все хорошо, то я начинаю включать код небольшими кусочками и проверять работу сервиса. Данный метод не самый быстрый, но дает 100% результат.
Если у вас остались вопросы, то вы можете задать мне их в социальных сетях или оставить комментарий ниже.
Решение проблемы с настройкой веб сервисов 1с для Windows Server 2012 R2 и IIS версии 8.5
1.Запускаем диспетчер IIS.
3.Находим в ветке «Сайты» нужный нам каталог, 2 раза щелкаем мышкой на него, в правом окне запускаем «Фильтрация запросов». Удаляем все запрещения на расширение (либо удалить элемент, либо поставить Разрешено=true)
4. Перезапускаем IIS
Специальные предложения
Обновление 16.06.14 22:01
Код открыт Не указано
См. также
Настройка сборки данных в Performance Monitor Windows Server. Рецепты от Капитана
Каждый опытный сисадмин знает, что лучший показатель ухудшения быстродействия 1С, это главный бухгалтер, движущийся в сторону ИТ отдела со скоростью, превышающей 1.1 м/с. Но только мудрейшие из них настраивают сбор счетчиков, чтобы эта встреча не застала их врасплох. Об этом и поговорим под катом.
07.05.2021 3437 capitan 21
Под капотом IIS, или как сделать WEB публикацию базы 1С без конфигуратора
В интернете есть много инструкций как установить Internet Information Services и опубликовать на нем базу, будь то файловую, или клиент-серверную. Но, крайне мало кто пытается разобраться, как IIS работает, и что делает платформа при публикации базы. В этой статье я покажу как опубликовать базу на IIS без использования конфигуратора.
29.04.2021 6729 evvakra 14
Как настраивать кросс-доменные (CORS) запросы к HTTP сервису 1C на веб сервере IIS с сайтом EDIbot
Сервис EDIbot позволяет отобразить в виде прогрессивного веб приложения, полученный JSON по REST запросу. Разберемся, как решить проблему кросс-доменных запросов на веб сервере IIS для корректной работы HTTP сервиса 1C и сервиса.
21.10.2020 2549 SizovE 0
Настраиваем PWA приложение на платформе 8.3.18 с бесплатным действительным сертификатом SSL
Вышла платформа 8.3.18 с поддержкой PWA приложений. Получаем БЕСПЛАТНЫЙ действительный сертификат SSL. Настраиваем прогрессивное веб приложение для опубликованной бухгалтерии 3.0 на IIS сервере.
18.10.2020 6865 IamAlexy 32
Смена паролей всем локальным пользователям Windows с помощью OneScript
Скрипт, который меняет пароли всем локальным пользователям Windows и сохраняет их в файле. Есть функция генерации пароля, можно задать длину пароля.
18.08.2020 1128 info1i 7
Настройка SoftEther VPN Client на Linux Debian/Ubuntu/Mint (связка Linux-Windows)
На сервере установлен и настроен VPN через программное обеспечение SoftEter VPN Server, настроены клиенты с доступом по сертификату, встала задача настроить доступ клиента из Linux и подключиться по RDP (VNC) в Windows к серверу VPN.
04.02.2020 9181 ClickUp 9
Простой пример работы с аутентификацией OpenID на IIS
OpenID, аутентификация, HTTPS, получение сертификата SSL, веб-сервер IIS, Internet Information Server, самоподписанный сертификат, самозаверенный сертификат.
26.12.2019 10810 budidich 20
Проброс IP-адреса клиента в http-сервис 1С. Реализация для IIS
Настраиваем веб-сервер IIS для передачи в 1С IP-адреса клиента, вызвавшего http-сервис. Разбираемся с этим же вопросом при использовании фронтэнд вебсервера на примере nginx.
Что такое ошибка 500 и когда она возникает
Пользователи интернета и владельцы сайтов периодически сталкиваются с различными ошибками на веб-страницах. Одной из самых распространенных ошибок является error 500 (ошибка 500). Поговорим в нашей статье о том, что это за ошибка и как ее исправить.
Где и когда можно встретить ошибку 500
Вы можете увидеть ошибку на любом веб-ресурсе, браузере и устройстве. Она не связана с отсутствием интернет-соединения, устаревшей версией операционной системы или браузера. Кроме того, эта ошибка не указывает на то, что сайта не существует или он больше не работает.
Отображаться ошибка может по-разному. Вот пример:
Если ошибка появилась на вашем сайте, то нужно скорее ее исправлять. Далее я расскажу, как это можно сделать.
Причины возникновения ошибки
Итак, ошибка 500 возникает, когда серверу не удается обработать запрос к сайту. Из-за этого пользователи не могут попасть на сайт, а поисковые системы полноценно с ним работать. Очевидно, что ошибка нуждается в исправлении. В первую очередь необходимо найти проблему.
Основной причиной ошибки 500 может быть:
Год хостинга в подарок при заказе лицензии 1С-Битрикс
Выбирайте надежную CMS с регулярными обновлениями системы и профессиональной поддержкой.
Как получить больше данных о причине ошибки
Что означает ошибка 500, мы теперь знаем. Когда она перестала быть таким загадочным персонажем, не страшно копнуть глубже — научиться определять причину ошибки. В некоторых случаях это можно сделать самостоятельно, так что обращаться за помощью к профильному специалисту не понадобится.
Самые частые причины ошибки 500 можно распознать по тексту ошибки или внешнему виду страницы.
Давайте узнаем, что скрывается за пустой страницей, обратившись к инструментам разработчика. Эта браузерная панель позволяет получить информацию об ошибках и другие данные (время загрузки страницы, html-элементы и т.д.).
Как открыть панель разработчика

Как вы видите, данных в логи записывается немало, поэтому они разделены по типам. За сведениями о нашей ошибке можно обратиться к логам ошибок (error_log). Обычно такие логи предоставляет служба поддержки хостинга, на котором размещен сайт. В Timeweb вы можете включить ведение логов и заказать необходимые данные в панели управления. Разобраться в полученных логах поможет статья «Чтение логов».
Как устранить ошибку
Теперь поговорим о том, как исправить ошибку 500. Вернемся к популярным причинам этой проблемы и рассмотрим наиболее эффективные способы решения.
Ошибки в скриптах сайта
Скрипт не запускается
Обычно это происходит, когда существует ошибка в скрипте или функция, которая не выполняется. Для успешного запуска скрипта функция должна быть верно прописана, поддерживаться сервером и выполняться от используемой версии PHP. Бывают ситуации, когда функция несовместима с определенными версиями PHP. Получить более подробную информацию о той или иной функции можно в интернете.
Не хватает оперативной памяти
Если в логах вы видите ошибку «Allowed memory size», для устранения ошибки 500 стоит оптимизировать работу скрипта. Вы можете воспользоваться специальными расширениями для анализа производительности скрипта или обратиться за помощью к специалисту, который поработает над его оптимизацией.
Если ваш сайт размещен на отдельном физическом или виртуальном сервере, можно попробовать увеличить максимальное использование оперативной памяти на процесс (memory_limit). На шаред хостинге этот параметр обычно не изменяется, но есть возможность купить хостинг помощнее.
Ошибки в CMS
Если код CMS содержит неверный синтаксис, это может вывести сайт из строя. В таком случае логи сообщат вам об ошибке 500 текстом «PHP Parse error: syntax error, unexpected». Так происходит, когда некорректно работает плагин (или тема, используемая в CMS, но реже) либо есть ошибки в коде. Ошибка может быть допущена случайно, произойти при обновлении плагина или версии CMS.
При чтении логов обратите внимание на путь, который следует за сообщением об ошибке, ведь он может указать на проблемную часть кода или плагин. Если проблема в плагине, для восстановления работы сайта переименуйте на время папку, в которой он расположен. Попробуйте обновить плагин или откатить его до прежней версии. Если ситуацию не удается исправить, от расширения стоит отказаться либо заменить его аналогом.

Информацию о других распространенных ошибках вы можете найти в статье «6 наиболее часто возникающих ошибок HTTP и способы их устранения».
Что такое 500 ошибка сервера, и как её исправить
Поделиться этим постом
500 ошибка сервера может однажды может случиться на любом сайте. При такой проблеме ни один пользователь не сможет получить доступ к ресурсу. В этой статье мы опишем, как определить и исправить причины внутренней ошибки сервера 500.
1. 500 Internal Server Error — что это?
500 — код ошибки, указывающий на проблемы с сервером. Она возникает по различным причинам:
Пользователи, сталкиваясь с ошибкой, видят следующее предупреждение.
Вебмастерам важно оперативно устранять ошибку сервера 500, чтобы не терять потенциальных клиентов, ведь далеко не каждый пользователь станет возвращаться на сайт, увидев ошибку. Для её исправления следует откорректировать конфигурацию сервера и добиться правильного выполнения запросов.
В подавляющем большинстве ситуаций исправить ошибку можно самостоятельно, если же это не удалось — придётся обратиться в техподдержку хостинг-провайдера. Установить причину 500 ошибки поможет последовательная проверка работы разных компонентов.
2. Почему появляется ошибка 500 Internal Server Error
2.1. Серверные ошибки
Начните работу по исправлению 500 внутренней ошибки сервера с анализа логов ошибок. Чтобы их проверить, перейдите в панель управления хостингом и найдите раздел с настройками ресурса.
Выберите в логах вкладку «Error» и необходимую дату, чтобы просмотреть отчёт за определённый день, или укажите диапазон времени.
Ещё один способ обнаружить источник ошибку 500 Internal Server Error — провести техническую проверку, которая доступна в разделе настроек.
В отчёте строки с ошибками будут выделены красным цветом.
Если тестер обнаружил какие-то проблемы, вероятнее всего, именно они стали причиной внутренней серверной ошибки.
Ещё одна потенциальная причина ошибки 500 — некорректный синтаксис директивы FilterProvider, отвечающей за сжатие контента для ускорения работы. Эта директива включает сжатие на основании заголовков Content-Type, а на хостинге сжимать контент может Nginx, и до Apache такие запросы не дойдут. Следует также учитывать, что для различных версий Apache используется разный синтаксис.
2.3. Неверные права доступа
При создании нового сайта или восстановлении ресурса из бэкапа может возникать ошибка прав доступа к файлам. Например, к ним могут установиться права доступа 777, а это значит, что любой пользователь имеет право их изменять. Такая ситуация критична для безопасности сервера, поэтому он заблокирует файлы, и возникнет ошибка 500.
Чтобы узнать, какие права доступа установлены, откройте в файл-менеджере необходимый документ и зайдите через контекстное меню в его свойства либо раздел «Права доступа».
Допустимые права доступа к каталогам и файлам — 640 или 755.
2.4. Ошибки в Perl и Python скриптах
Иногда 500 ошибка возникает при выполнении скриптов. В данной ситуации нужно проверить, выполняются ли указанные условия:
2.5. Медленная скорость работы PHP-скриптов
На проекте могут присутствовать слишком медленные скрипты, которые не успевают вовремя обработать поток информации, из-за этого возникает внутренняя серверная ошибка.
2.6. Конфликты после обновлений и установки плагинов
Бывает, что проблемы возникают после обновления версии CMS либо установки новых расширений, плагинов или модулей. Если до установки модуля сайт работал нормально, деактивируйте его и перезагрузите страницу браузера. Возможно, ошибку вызвал какой-то внутренний конфликт.
2.7. Устаревшая версия PHP
Устаревшие версии PHP 5.6 и 7.0 не получают обновления безопасности, они работают медленнее, и у них могут возникать проблемы с различными плагинами и скриптами. Помимо этого, ресурсы с устаревшей версией PHP хуже ранжируются. Проверить текущую версию можно на хостинге в разделе «Настройки» — «Настройка PHP».
Быстро проверять коды ответа сервера страниц сайта вам поможет Netpeak Spider — инструмент для регулярного SEO-аудита, быстрого поиска ошибок, системного анализа и парсинга сайтов. У краулера есть бесплатная версия без ограничений по времени,в которой доступны многие базовые функции.
Чтобы получить доступ к бесплатному Netpek Spider, достаточно просто зарегистрироваться, скачать и установить программу 😉
3. Отображается 500 Internal Server Error — как исправить?
3.2. Исправление прав доступа
При некорректно установленных правах поменяйте их на 640 либо восстановите настройки по умолчанию. В зависимости от хостинг-провайдера алгоритм действий может различаться, найдите соответствующие настройки. Например, у провайдера «Украина» предлагается восстановить права доступа ко всем файлам и папкам в разделе «Установка CMS».
Можно также восстановить настройки по умолчанию с помощью редактирования прав доступа конкретного файла.
3.3. Исправление проблем с расширениями или обновлениями
Если внутренняя ошибка 500 возникла после установки новых модулей, но их деактивация не исправила ситуацию, воспользуйтесь услугой восстановления резервной копии сайта хостинг-провайдера.
При заказе необходимо выбрать дату, на момент которой сайт был работоспособным и восстановить именно эту версию. В течение получаса сайт должен восстановить корректную работу.
Подводим итоги
А вы часто сталкиваетесь с 500 ошибкой? Как её исправляете? Оставляйте свои ответы в комментариях 😉
Как исправить ошибку 500 Internal Server Error
Разбираемся, что означает ошибка 500, из-за чего она может возникнуть и что делать, чтобы убрать её с сайта.
Что внутри
Что такое ошибка 500
Ошибка 500 Internal Server Error — это код состояния HTTP, один из стандартных ответов сервера на запрос браузера. Примеры других кодов HTTP: 403 Forbidden, 404 Not Found или 503 Service Unavailable.
Сервер отправляет один из таких кодов каждый раз, когда в браузере открывают новую страницу или переходят по ссылке. Даже когда никакой ошибки не было и страница нормально загрузилась.
Конкретно этот код HTTP — 500 Internal Server Error — означает, что сервер не смог выполнить запрос из-за непредвиденной ошибки.
Как может выглядеть ошибка 500
Дизайн страницы с 500 ошибкой будет отличаться в зависимости от разных факторов: вашего браузера, веб-сервера, панели управления хостингом, операционной системы, а также движка или фреймворка, на котором работает сайт.
Например, вот так выглядят стандартные страницы 500 ошибки четырёх популярных веб-серверов: Apache, Nginx, LiteSpeed и IIS 7.
Когда что-то не так с параметрами PHP или правами на файлы и папки, в Google Chrome 500 ошибка будет оформлена в фирменном стиле браузера, а в Firefox будет пустая страница — «белый экран смерти».
Когда на сайте с WordPress есть проблема со скриптом — написан с ошибкой или в нём пропущен символ — тоже возникнет ошибка 500:
Также страницу с 500 ошибкой иногда оформляют в общем дизайне сайта. Вот так, например, выглядит страница с такой ошибкой на сайте YouTube:
Это не все варианты, а только самые популярные. В зависимости от того, какое ПО вы используете, оформление страницы с ошибкой может быть и другим.
Текст на странице тоже может отличаться. Вот некоторые варианты, с которыми вы можете столкнуться:
Почему возникает ошибка 500
Как вы уже поняли, ошибка 500 — это собирательное сообщение, которое возникает, когда что-то не сработало, как ожидалось. Такой обобщённый ответ используют, потому что заставить сервер сломаться могут тысячи разных вещей и невозможно предусмотреть отдельную страницу для каждого случая.
Проще всего посмотреть в логи сервера, чтобы найти причину возникновения 500 ошибки. Но вообще, вот несколько распространенных ситуаций, в которых она возникает:
Как 500 ошибка влияет на SEO
Если на сайте возникла 500 ошибка, важно исправить её как можно быстрее, потому что из-за неё страницы могут исчезнуть из результатов поиска.
Когда поисковый робот заходит на страницу и видит 500 ошибку, он пробует зайти на страницу ещё раз в пределах суток, рассчитывая на то, что владелец сайта решит проблему. Но если при повторном посещении снова будет код ответа сервера 500, бот уже может исключить страницу из индекса.
Проверить, выпала ли страница из индекса, можно в Google Search Console. Для этого войдите в консоль, введите в строке поиска URL страницы и нажмите Enter. Сервис проверит страницу и покажет её статус. Если страницы уже нет в индексе, нажмите «Запросить индексирование», чтобы повторно её туда добавить.
Также Search Console поможет вам своевременно обнаруживать ошибки. Для этого просто периодически проверяйте раздел «Покрытие» на главной странице панели в меню слева. В него будут записываться все ошибки на сайте.
Как исправить ошибку 500
Если вы столкнулись с ошибкой как посетитель, ваша единственная опция описана в первом совете. Для остальных советов понадобится доступ на хостинг.
Советы в этом разделе описывают не все ситуации, из-за которых может возникнуть 500 ошибка, а только наиболее популярные. Если ничего из перечисленного выше не поможет, в конце статьи есть рекомендация, что делать.
1. Очистите кэш и обновите страницу
Бывает, 500 ошибка возникает в моменте и пропадает при повторной загрузке страницы. При этом иногда она кэшируется, поэтому кэш на всякий случай стоит очистить. Вот как сделать это в популярных браузерах:
У нас на YouTube-канале также есть видеоинструкция: Как очистить кэш.
2. Проверьте логи
Так вы сразу увидите причину ошибки, вместо того чтобы перебирать все возможные варианты. Если вы не сильно разбираетесь, попробуйте сначала советы ниже. А уже если ничего не сработает, придётся возвращаться к этому варианту.
В зависимости от того, какой веб-сервер используется у вас на хостинге, по умолчанию логи будут храниться по таким путям:
Логи могут храниться и в других местах. Например, панели управления хостингом часто меняют стандартный путь их расположения:
Важный нюанс — доступ к общим логам будет только на VPS-хостинге или выделенном сервере. На виртуальном хостинге будет свой файл error_log. По умолчанию он создаётся в той же папке, где лежит скрипт, выполнение которого привело к 500 ошибке. Но разные CMS могут переопределять путь к этому файлу в другие папки.
Плюс в этот файл попадают только ошибки PHP. Ошибки веб-сервера попадут в основные логи, к которым не будет доступа. Так что, если у вас виртуальный хостинг и в логах с ошибками PHP пусто, свяжитесь с поддержкой провайдера и попросите их посмотреть основные логи. Пусть пришлют последние строки оттуда.
Вы также можете включить опцию display_errors, чтобы причина ошибки из логов отображалась на сайте. В панели управления cPanel для этого нужно найти на главной странице панели раздел «Программное обеспечение» и открыть приложение «Выбор версии PHP».
Дальше перейдите на вкладку «Настройки» и поставьте галочку в строке «display_errors». Изменения сохранятся автоматически.
На VPS или выделенном сервере добавьте такую директиву в основной файл php.ini:
После этого текст из логов будет выводиться на экран. Сначала в нём будет причина ошибки, а потом её объяснение. Например, путь к файлу с номером строки, на которой эта ошибка находится. Вот пример такого сообщения.
В этом случае 500 ошибка возникла из-за того что серверу обязательно нужно открыть файл version.php (слово «require» в самом начале), как указано на 33 строке в файле wp-settings.php, но прав для открытия этого файла нет (слова «Permission denied»).
3. Проверьте глобальные конфигурационные файлы
Если у вас виртуальный хостинг, беспокоиться не о чем. За настройку этих файлов отвечает хостинг-провайдер и вероятность возникновения ошибки из-за проблемы с этим файлом стремится к нулю.
Если у вас VPS или выделенный сервер, вы сами отвечаете за настройку этих файлов. И в этом случае 500 ошибку может вызвать случайная опечатка или конфликтующие директивы.
У веб-сервера Apache конфигурационные файлы хранятся в таких местах:
У веб-сервера Nginx конфигурационные файлы хранятся в таких местах:
Если вы управляете сервером при помощи какой-то панели управления, конфигурационные файлы могут храниться в других папках. Например, для Webuzo это /usr/local/apps/apache, а для Plesk — /home/user/conf/.
Этот файл будет в корневой папке домена на любом хостинге с веб-сервером Apache. Даже если вы никогда не редактировали его, в файле всё равно может быть ошибка. Например, такое бывает с сайтами на WordPress: при установке плагинов они сами добавляют нужные директивы в файл, из-за чего иногда возникают конфликты с предыдущими директивами и возникает 500 ошибка.
5. Проверьте права доступа к папкам и файлам
Ошибка 500 Internal Server Error часто возникает, потому что у веб-сервера нет доступа к какой-то папке или файлу, из-за чего он не может выполнить скрипт. Дело может быть в том, что у файла или папки в принципе нерабочие права, а может в том, что файлом или папкой владеет один пользователь, а веб-сервер выполняет процессы от имени другого; у владельца права есть, а у веб-сервера нет.
Изменить владельца можно в командной строке при помощи команды chown:
Изменить права можно либо при помощи FTP-клиента вроде FileZilla, если вы таким пользуетесь, либо при помощи менеджера файлов в панели управления хостингом. Вот как сделать это в cPanel.
На главной странице панели найдите блок «Файлы» и перейдите в раздел «Менеджер файлов».
Выделите нужный файл или папку и нажмите в верхней панели кнопку «Права». Вот стандартные значения, с которыми всё должно работать:
Если привыкли работать с файлами в командной строке, вот команда, которая поможет изменить права:
6. Проверьте базу данных
Ошибка Internal Server Error ещё возникает, когда сервер не может подключиться к базе данных. Текст ошибки в этом случае будет «Error establishing a database connection», но в логах будет код ошибки 500.
Чаще всего сервер не может подключиться к базе данных из-за того, что в файле с деталями базы указан неправильный логин или пароль. Такое может произойти, если вы или ваш программист поменяли детали, но случайно забыли обновить их в файле. Расположен этот файл обычно в корневой папке сайта и в его названии есть слово config. Например, для сайтов на WordPress это wp-config.php, а для сайтов на OpenCart — config.php.
Также дело может быть в том, что MySQL-сервер перегружен из-за большого количества посетителей. Такое часто бывает на виртуальном хостинге, где для каждого пользователя ограничено количество одновременных подключений к базе.
Запросов к базе данных может стать больше по мере естественного роста трафика на сайт. Это обычно значит, что нужен более мощный хостинг. Либо запросы могут быть вредоносными и тогда нужно просто от них отбиться. Проверить нагрузку можно при помощи команд SHOW GLOBAL STATUS, VMSTAT или TOP. Если не разбираетесь, обратитесь за помощью к разработчику сайта или поддержке вашего хостинг-провайдера.
Ещё ошибку Error establishing a database connection может вызвать повреждение в базе данных. По мере того как вы наполняете свой сайт контентом, устанавливаете темы и плагины, оптимизируете при помощи разных инструментов, что-то важное может случайно удалиться, из-за чего база и перестанет работать. В этом случае решением будет восстановить резервную копию, если она есть.
7. Проверьте использование ресурсов на сервере
Любое действие на сайте запускает на сервере процесс. Если их будет слишком много и все ресурсы окажутся заняты, начнёт образовываться очередь. Может выйти так, что очередь станет слишком длинной и новые процессы станут вытеснять старые. В результате какой-то важный процесс может не выполниться и возникнет 500 ошибка.
Если у вас виртуальный хостинг, вы не можете управлять процессами — это задача провайдера. Но, возможно, сможете оценить загруженность сервера в своей панели управления. В cPanel это можно сделать в блоке «Статистика» на главной странице панели справа:
При полной загруженности сервера вы можете связаться с провайдером и попросить их завершить некоторые процессы. Но на таком хостинге они обычно связываются с клиентами сами, когда замечают у них много тяжелых процессов, поскольку это может влиять на работу других сайтов на сервере.
Если у вас VPS или выделенный сервер, вы сами управляете процессами. Их можно посмотреть при помощи команды top, и при необходимости завершить некоторые из них, используя команду:
Если покупали хостинг у нас, напишите нам письмо с деталями вашего хостинга и описанием проблемы. Наши специалисты взглянут на процессы и подскажут, что можно сделать.
8. Проверьте параметры PHP max_execution_time и memory_limit
Эти параметры регулируют поведение сервера при обработке PHP скриптов, чтобы он не зависал и не тратил на обработку все ресурсы. Параметр max_execution_time — это время в секундах, в течение которого скрипт должен выполниться. А memory_limit — это количество памяти PHP, которое сервер может выделить для выполнения скрипта.
Стартовых значений этих параметров может не хватать, чтобы сервер выполнил важные скрипты, из-за чего он будет вынужден отправить браузеру 500 ошибку.
Один из способов увеличить значения этих параметров — в панели управления хостингом. В cPanel для этого нужно найти на главной странице панели раздел «Программное обеспечение» и открыть приложение «Выбор версии PHP».
Дальше перейдите на вкладку «Настройки», найдите указанные параметры и увеличьте их значения. Настройки сохраняются автоматически.
9. Проверьте PHP-скрипты на ошибки
Самые распространённые ошибки — это опечатки: пропущена буква, точка с запятой или скобка. Также может быть такое, что в скрипте стоит ссылка на файл, но самого файла по указанному пути нет. В результате сервер не может выполнить скрипт и показывает в браузере 500 ошибку.
Ещё одна причина — несовместимость скрипта с новой версией PHP. Разные версии отличаются друг от друга, поэтому скрипт, который работал с PHP 5.6, может уже не работать с PHP 7.2. Например, потому что в новой версии больше не поддерживается какая-то переменная. Также после смены версии PHP некоторые расширения могут быть выключены по-умолчанию или отсутствовать как устаревшие.
10. Проверьте плагины и тему
Любой плагин или тема это чей-то код, который вы встраиваете в свой сайт. Если этот код написан плохо или после его добавления он вступает в конфликт с другим кодом, на сервере может возникнуть 500 ошибка. Иногда она возникает сразу после установки или обновления и на всех страницах сайта, но может и возникать после выполнения какого-то действия или только на одной странице.
Чтобы проверить, дело в плагине или нет, деактивируйте их и проверьте, исчезла ли ошибка. Если да, включайте плагины по очереди, пока не найдёте тот, из-за которого она возникает. Если нет, значит дело в чём-то другом.
Подобным образом можно проверить и тему — включите вместо текущей стандартную и снова зайдите на сайт. Дальше по ситуации: либо ищите проблему дальше, либо меняйте тему, либо свяжитесь с разработчиком, чтобы помог устранить ошибку.
Отключить плагины можно в консоли WordPress, в разделе «Плагины» – «Установленные. Поставьте галочку в шапке таблицы, чтобы выбрать все плагины сразу, выберите в выпадающем меню выше вариант «Деактивировать» и нажмите «Применить».
Если не можете попасть в консоль, потому что 500 ошибка отображается на всех страницах сайта, отключить плагины можно в менеджере файлов в панели управления хостингом. Вот как это сделать в cPanel.
На главной странице cPanel найдите блок «Файлы» и перейдите в раздел «Менеджер файлов».
Дальше найдите корневую папку домена, перейдите в папку wp-content и переименуйте папку plugins, например, в plugins-old. Это отключит все плагины.
Обычно для основного домена корневая папка называется public_html, а для дополнительного — так же, как и сам домен.
Если после этого 500 ошибка исчезла, переименуйте папку plugins обратно, зайдите в неё и по очереди переименовывайте папку с каждым плагином, пока не найдёте тот, который вызывает ошибку.
11. Обратитесь к хостинг-провайдеру
500 ошибка может возникать, если провайдер проводит на сервере технические работы. Поэтому уточните этот момент у поддержки, если не получается найти причину ошибки самостоятельно.
Многие провайдеры информируют клиентов о подобных работах. У нас для этого есть отдельная страница «Сервисные уведомления». Вы найдёте её в боковой панели своего аккаунта.
Что делать, если советы не помогли
К сожалению, такое тоже может произойти. Ошибка 500 очень индивидуальна и рассмотреть все ситуации в статье невозможно. Попробуйте погуглить фрагмент ошибки, возможно, у кого-то была такая же проблема и её решение описали на каком-нибудь форуме. Либо пришлите в комментариях к этой статье сообщение из логов, постараемся помочь.











































