Просмотров: 28935
Дата последнего изменения: 22.07.2020
Сложность урока:
3 уровень — средняя сложность. Необходимо внимание и немного подумать.
4
5
Ошибка сервера может быть вызвана различными причинами, поэтому ее диагностика достаточно сложна и трудоемка. Это не является ошибкой «1С-Битрикс: Управление сайтом». Она часто возникает на разделяемом хостинге из-за ограничения ресурсов системы.
При возникновении ошибки сервера в первую очередь необходимо просмотреть файл сервера error.log. В этом файле может содержаться строка с кодом ошибки.
-
Типичным примером причины возникновения ошибки сервера может быть превышение разрешенных прав на хостинге.
Например, происходит попытка выполнить файл с атрибутами, не разрешёнными для запуска на сервере (например, файл имеет атрибуты 0755, а допускается 0711).
- Также возможной причиной может быть наличие лимита по времени на исполнение php-скриптов;
- Или у системы нет прав на запись или чтение файла и др.
-
Другой распространенной причиной возникновения внутренней ошибки сервера является нарушение конфигурации сервера или попытка использования неразрешенных инструкций, например, в файле
.htaccess. В этом случае необходимо закомментировать либо удалить строку, содержащую неразрешенную директиву, в соответствующем файле (например,.htaccess). - Обратите внимание, если PHP работает как CGI, то 500 ошибка на сервере может быть вызвана фатальной ошибкой PHP. В этом случае рекомендуется выполнить проверку программного кода и диагностировать ошибку.
- Внутренняя ошибка сервера может возникнуть при запуске из-под Apache CGI-скрипта, время исполнения которого превышает время, отведенное на выполнение скрипта в настройках сервера.
Таким образом, всё зависит от конфигурации сервера.
Важно понимать, указанные ограничения не настраиваются через настройки PHP в php.ini.
В нормальной ситуации такая ошибка и её причина фиксируется в логах сервера. В этом случае пользователю рекомендуется обратиться к хостеру с просьбой указать, что является причиной возникновения ошибки и попросить её устранить (например, увеличить ресурсы). Если хостер не смог найти решение — обратитесь в техподдержку компании «1С-Битрикс» с точным указанием того, как ошибка происходит и какие причины указал хостер. Без указания причины ошибки техподдержка помочь вам не сможет.
Рассказываем, как устранить 500 ошибку на сайте на 1С-Битрикс.
«Internal Server Error» — внутренняя ошибка сервера. Она может произойти и на сайте на CMS 1С-Битрикс, WordPress и других. Само название говорит о том, что дело в хостинге.
«Internal Server Error» выводит код ответа 500, а ошибки вызваны проблемами в файлах сайта:

Если проблема в файле .htaccess, при переходе на сайт появится сообщение «Internal server error».
До начала работы над устранением ошибки нужно выяснить причину ее возникновения. Для начала проверьте доступное ОЗУ.
Шаг №1. Проверка доступной оперативной памяти (ОЗУ)
-
Если у вас виртуальный хостинг
На тарифах виртуального хостинга оперативная память общая для всех сайтов. Если один из сайтов превысил лимит, системный администратор отправляет ему уведомление для исправления ситуации.
-
Если у вас виртуальный сервер или выделенный сервер
Перейдите в панель управления виртуальным сервером. На панели меню слева перейдите в Инструменты (1) → Shell-клиент (2). В открывшейся вкладке введите команду «free -h» (3) и нажмите enter.
В столбце «used» (4) в первой строке указана используемая ОЗУ. На скриншоте это 398 МБ. В столбце «free» (5) в первой строке указана свободная ОЗУ. На скриншоте это 3,2 Гб.

Если оперативная память закончилась, возможно, причина в выполняющихся процессах на вашем сервере. Для исправления обратитесь к вашему программисту или в техническую поддержку хостинга.
Если оперативной памяти достаточно, переходите ко второму шагу.
Шаг №2. Проверка наличия ошибок в файле «.htaccess»
Для проверки ошибок в «.htaccess» достаточно просто изменить название этого файла и перейти на сайт. Если сайт начнет работать, в файле есть ошибки.
Для этого в панели управления виртуальным хостингом перейдите в Главное (1) → Менеджер файлов (2). Перейдите в корневую папку сайта (по умолчанию это «www»). Выделите файл «.htaccess» (3) и нажмите кнопку «Атрибуты» (4).

В строке «Имя» измените название — например, напишите «.htaccess_1». Нажмите «Ок», чтобы сохранить изменения.

Перейдите на сайт. Если он заработал, то проблема в файле. Вспомните, какие изменения вы вносили, и исправьте их. Либо восстановите файл из резервной копии.
Если сайт все еще не работает, верните прежнее имя файла «.htaccess» и перейдите к 3 шагу.
Шаг №3. Проверка наличия ошибок в скриптах сайта
Чтобы узнать, есть ли ошибки в скриптах сайта, нужно включить вывод ошибок на сайте. Для этого в менеджере файлов выделите файл «.htaccess» и нажмите кнопку «Открыть».

Вставьте строку «php_value display_errors 1» так, как показано на скриншоте ниже.

Перейдите на сайт. Если появились ошибки, сделайте скриншот экрана или скопируйте текст ошибок. Обратитесь в нашу техническую поддержку с указанием данных ошибок.
Если после выполнения этой инструкции исправить ошибку не получилось, оставьте обращение в нашу техническую поддержку. Поможем выяснить, в чем проблема, и исправить ее.
Views: 13410
Last Modified: 08.07.2020
Error.log |
Since there are a lot of reasons which may cause server errors, their diagnostics is very complex and tedious.
If a server error occurs, the first thing to do is view the error.log file. This file may contain a line with the error description.
-
Typical situation when a server error may occur is exceeding the allowed server permissions.
For example: the system creates and saves a page with the 0777 permissions, while the maximum permission allowed by the server is 0644. The server will return the 500 error upon attempt to access the page.
- A timeout limit for the execution of php scripts may also be a possible cause;
- Alternatively, the system may have no write or read rights, etc.
- Another prevailing reason is invalid server configuration or using forbidden directives (for example, in .htaccess). In this case, remove or comment the failure line in the file.
- Note! If PHP runs as CGI, the 500 error may be cause by a PHP fatal error. In this case, you are recommended to check the program code and diagnose the error.
- Internal server errors may come about when a CGI script runs on the Apache server and the execution time exceeds the maximum allowed period specified in the server configuration.
Thus, everything depends on the server configuration.
It is important to know that the said restrictions are not determined through PHP settings in php.ini.
Normally, such an error and its cause are recorded in server logs. You have to refer to the hoster requiring that the reason of the error be indicated and the error be eliminated (for example, by increasing the resources). If the hoster could not find a solution, please contact Bitrix helpdesk providing an accurate description of the error and the reasons indicated by the hoster. Helpdesk will not be able to assist you without knowing the reason of the error.
В статье мы расскажем, как исправить ошибку (код состояния) 500 со стороны пользователя и администратора сайта, а также подробно разберём, что такое ошибка запроса 500.
Что такое внутренняя ошибка сервера 500
Код ошибки 5хх говорит о том, что браузер отправил запрос корректно, но сервер не смог его обработать. Что значит ошибка 500? Это проблема сервера, причину которой он не может распознать.
Сообщение об ошибке сопровождается описанием. Самые популярные варианты:
- Внутренняя ошибка сервера 500,
- Ошибка 500 Internal Server Error,
- Временная ошибка (500),
- Внутренняя ошибка сервера,
- 500 ошибка сервера,
- Внутренняя ошибка HTTP 500,
- Произошла непредвиденная ошибка,
- Ошибка 500,
- HTTP status 500 internal server error (перевод ― HTTP статус 500 внутренняя ошибка сервера).
Дизайн и описание ошибки 500 может быть любым, так как каждый владелец сайта может создать свою версию страницы. Например, так выглядит страница с ошибкой на REG.RU:
Как ошибка 500 влияет на SEO-продвижение
Для продвижения сайта в поисковых системах используются поисковые роботы. Они сканируют страницы сайта, проверяя их доступность. Если страница работает корректно, роботы анализируют её содержимое. После этого формируются поисковые запросы, по которым можно найти ресурс в поиске.
Когда поисковый робот сканирует страницу с ошибкой 500, он не изменяет её статус в течение суток. В течение этого времени администратор может исправить ошибку. Если робот перейдёт на страницу и снова столкнётся с ошибкой, он исключит эту страницу из поисковой выдачи.
Проверить, осталась ли страница на прежних позициях, можно с помощью Google Search Console. Если робот исключил страницу из поисковой выдачи, её можно добавить снова.
Код ошибки 500: причины
Если сервер вернул ошибку 500, это могло случиться из-за настроек на web-хостинге или проблем с кодом сайта. Самые распространённые причины:
- ошибки в файле .htaccess,
- неподходящая версия PHP,
- некорректные права на файлы и каталоги,
- большое количество запущенных процессов,
- большие скрипты,
- несовместимые или устаревшие плагины.
Решить проблему с сервером можно только на стороне владельца веб-ресурса. Однако пользователь тоже может выполнить несколько действий, чтобы продолжить работу на сайте.
Что делать, если вы пользователь
Если на определённом ресурсе часто возникает ошибка 500, вы можете связаться с владельцем сайта по инструкции.
Перезагрузите страницу
Удаленный сервер возвращает ошибку не только из-за серьёзных проблем на сервере. Иногда 500 ошибка сервера может быть вызвана небольшими перегрузками сайта.
Чтобы устранить ошибку, перезагрузите страницу с помощью сочетания клавиш:
- на ПК — F5,
- на ноутбуке — Fn + F5,
- на устройствах от Apple — Cmd + R.
Обратите внимание! Если вы приобретаете товары в интернет-магазине и при оформлении заказа появляется 500 Internal Server Error (перевод — внутренняя ошибка сервера), при перезагрузке страницы может создаться несколько заказов. Поэтому сначала проверьте, оформился ли ваш предыдущий заказ. Если нет, попробуйте оформить заказ заново.
Очистите кэш и cookies браузера
Кэш и cookies сохраняют данные посещаемых сайтов и данные аутентификаций, чтобы в будущем загружать веб-ресурсы быстрее. Если на ресурсе уже был статус ошибки 500, при повторном входе на сайт может загружаться старая версия страницы с ошибкой из кэша, хотя на самом деле страница уже работает. Очистить кэш и куки браузера вам поможет инструкция.
Если ни одно из этих действий не решило проблему, значит, некорректно работает сам сервер сайта. Вернитесь на страницу позже, как только владелец решит проблему.
Что делать, если вы владелец сайта
В большинстве случаев устранить проблему может только владелец сайта. Как правило, ошибка связана с проблемами в коде. Реже проблемы могут быть на физическом сервере хостинг-провайдера.
Ниже рассмотрим самые популярные причины и способы решения.
Ошибки в файле .htaccess
Неверные правила в файле .htaccess — частая причина возникновения ошибки. Чтобы это проверить, найдите .htaccess в файлах сайта и переименуйте его (например, в test). Так директивы, прописанные в файле, не повлияют на работу сервера. Если сайт заработал, переименуйте файл обратно в .htaccess и найдите ошибку в директивах. Если вы самостоятельно вносили изменения в .htaccess, закомментируйте новые строки и проверьте доступность сайта.Также может помочь замена текущего файла .htaccess на стандартный в зависимости от CMS.
Найти директиву с ошибкой можно с помощью онлайн-тестировщика. Введите содержимое .htaccess и ссылку на сайт, начиная с https://. Затем нажмите Test:
Произошла непредвиденная ошибка
На экране появится отчёт. Если в .htaccess есть ошибки, они будут выделены красным цветом:
500 ошибка nginx
Активирована устаревшая версия PHP
Устаревшие версии PHP не получают обновления безопасности, работают медленнее и могут вызывать проблемы с плагинами и скриптами. Возможно, для работы вашего веб-ресурса нужна более новая версия PHP. Попробуйте сменить версию PHP на другую по инструкции.
Установлены некорректные права на файлы и каталоги сайта
В большинстве случаев корректными правами для каталогов являются «755», для файлов — «644». Проверьте, правильно ли они установлены, и при необходимости измените права на файлы и папки.
Запущено максимальное количество процессов
На тарифах виртуального хостинга REG.RU установлены ограничения на количество одновременно запущенных процессов. Например, на тарифах линейки «Эконом» установлено ограничение в 18 одновременно запущенных процессов, на тарифах «+Мощность» ― 48 процессов. Если лимит превышен, новый процесс не запускается и возникает системная ошибка 500.
Такое большое число одновременных процессов может складываться из CRON-заданий, частых подключений с помощью почтовых клиентов по протоколу IMAP, подключения по FTP или других процессов.
Чтобы проверить количество процессов, подключитесь по SSH. Выполните команду:
ps aux | grep [u]1234567 |wc -l
Вместо u1234567 укажите ваш логин хостинга: Как узнать логин хостинга.
Чтобы посмотреть, какие процессы запущены, введите команду:
Вместо u1234567 укажите логин услуги хостинга.
Командная строка отобразит запущенные процессы:
Код ошибки 500
Где:
- u1234567 — логин услуги хостинга,
- 40522 — PID процесса,
- S — приоритет процесса,
- /usr/libexec/sftp-server — название процесса.
Процесс можно завершить командой kill, например:
Вместо 40522 укажите PID процесса.
Чтобы решить проблему, вы также можете:
- увеличить интервал запуска заданий CRON,
- ограничить количество IMAP-соединений в настройках почтового клиента. Подробнее в статье Ограничение IMAP-соединений,
- проанализировать запущенные процессы самостоятельно или обратившись за помощью к разработчикам сайта.
Если вам не удалось самостоятельно устранить ошибку 500, обратитесь в техподдержку.
Скрипты работают слишком медленно
На каждом виртуальном хостинге есть ограничения на время выполнения скрипта. Если за установленное время скрипт не успевает выполниться, возникает ошибка сервера 500. Для решения проблемы обратитесь к разработчику сайта и оптимизируйте скрипты. Если оптимизировать нельзя, перейдите на более мощный вид сервера.
У пользователей VPS есть возможность увеличить максимальное использование оперативной памяти на процесс, но лучше делать скрипты меньшего размера.
Ошибка 500 на сайте, созданном на WordPress
WordPress предлагает много плагинов для создания хорошего сайта. Они значительно расширяют возможности CMS. Однако они же могут нарушать работу сайта и вызывать ошибку 500. Вызвать ошибку могут как недавно установленные плагины, так и старые.
Для начала проверьте, нужно ли обновить плагины. Часто устаревшие плагины перестают работать и вызывают проблемы работы сайта. Если все плагины обновлены, но 500 Internal Server Error остаётся, отключите все плагины, чтобы убедиться, что именно они мешают работе сайта. Как только станет понятно, что виноват один из плагинов, отключайте их по очереди, пока не найдёте тот, который нарушает работу сервера.
Как отключить плагин в WordPress
-
1.
-
2.
Перейдите во вкладку «Плагины» ― «Установленные».
-
3.
Нажмите Деактивировать у плагина, который, как вам кажется, повлиял на работу сайта:
Если все ваши действия не решили проблему или вы не уверены в своих технических знаниях, обратитесь к службе технической поддержки. Сообщите время обнаружения проблемы и опишите все действия, которые вы предприняли перед обращением. Специалисты сделают детальную проверку настроек вашего сайта и при необходимости обратятся к администраторам сервера на стороне хостинг-провайдера.
