Просмотров: 32314
Дата последнего изменения: 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» так, как показано на скриншоте ниже.
Перейдите на сайт. Если появились ошибки, сделайте скриншот экрана или скопируйте текст ошибок. Обратитесь в нашу техническую поддержку с указанием данных ошибок.
Если после выполнения этой инструкции исправить ошибку не получилось, оставьте обращение в нашу техническую поддержку. Поможем выяснить, в чем проблема, и исправить ее.
Добрый день, начала выпадать 500 ошибка при переходе в элемент раздела в пользовательской части. Что удивительно только на безобидном гугл хроме… Я понимаю что ошибка на стороне сервера или из-за кэша…
-
Вопрос заданболее трёх лет назад
-
3167 просмотров
1. выключите кеширование
2. в .settings.php установите debug = true
3. запустите тестирование системы в админке
4. там же в админке запустите нагрузочное тестирование
5. смотрите логи, там на каждую 500 ошибку будет дано пояснение
Пригласить эксперта
-
Показать ещё
Загружается…
04 июн. 2023, в 16:44
30000 руб./за проект
04 июн. 2023, в 16:33
2500 руб./за проект
04 июн. 2023, в 16:13
2000 руб./за проект
Минуточку внимания
Views: 14166
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
Метод решения зависит от типа возникшей проблемы на сервере. Поэтому предварительно необходимо продиагностировать варианты ошибок.
Произвольный php сайт
На самописных сайтах чаще всего два варианта возникновения ошибки 500: ошибка в .htaccess и слишком долгое выполнение скрипта. Если ошибка в хтаксес, то необходимо откатить файл до предыдущей версии. Если не поможет, то просто очистите его и по строке добавляйте, чтобы найти проблемные директивы. С ними и нужно будет работать. Вероятно, отключен какой-то модуль на стороне сервера.
Если же слишком долго выполняется скрипт, то необходимо его оптимизировать. А это уже вопрос к разработчику. Некоторые скрипты, например, интеграции с обменом данными могут выполняться очень долго, поэтому целесообразно рассмотреть переезд на более мощный сервер.
Ошибка 500 в WordPress
В вордпрессе internal server error 500 возникает по следующим причинам:
- Неполадки после обновления ядра сайта
- Конфликты с плагинами
- Ошибки в .htaccess
- Превышено время выполнения скрипта
Неполадки после обновления очень сложно отследить. Именно поэтому всегда делайте бэкап перед обновлением! Это убережет вас от случайного возникновения 500 ошибки. Если бэкапа нет, то попытайтесь его запросить у хостинговой компании (в 99% случаев у них будет бэкап за последние сутки или неделю. Можно восстановиться из него). Если же даже хостер не может отдать вам бэкап, то нужно действовать так:
- Проверить все более простые варианты: например, ошибку в хтаксес
- Идти в логи сервера и искать проблемный скрипт
- Определить, почему он выдает ошибку и исправить её
На словах звучит просто, а на практике на решение вопроса может уходить десятки часов. Если у вас на сайте много трафика, то готовы ли вы так рисковать ради слепого обновления? Или лучше просто сделать бэкап?
Если же ошибка вызвана конфликтом плагинов, то тут проще: отключите все плагины (либо удалите их с сервера, они отключатся автоматически). И включайте их потом по одному. Так вы легко определите конфликтый.
Внутренняя ошибка 500 в Joomla
В Джумле очень часто ошибка 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’; |
вместо full_path нужно указать полный путь к папке (именно серверный путь, а не http адрес!).
Этих решений достаточно в 95% случаев для решения данной проблемы. Если проблема не решится, то пишите, разберемся в индивидуальном порядке.
Устраняем ошибку 500 в opencart
В opencart ошибка сервера 500 появляется иногда сама собой. При этом в логах может не быть ничего указано. Интересно, что файл логов может разрастаться очень до больших размеров, тем самым вызывая пятисотую ошибку сервера.
Вот виновник вопроса (лог модуля vQmod): корень_сайта/vqmod/vqmod.log
Решения два: либо время от времени по крону очищать этот файл, либо обновить vQmod до последней версии (в ней файл обнуляется каждые 7 дней).
Ошибка 500 в Битриксе. Что делать?
Битрикс требователен к ресурсам хостинга, поэтому на слабых серверах может периодически возникать ошибка 500. Решение тут может быть только одно — переезд на более надежный и мощный сервер.
Но перед этим обязательно проверить файл error.log, именно в него пишутся все логи ошибок системы. Битрикс очень плотно работает с файловой системой, для него критичны права доступа, поэтому за ними нужно следить особенно тщательно!