Сайт выдает ошибку 500 joomla

The «500» error code is used within Joomla! to designate when the system has caused a fatal internal server error that the system believes it should not recover from. When this error is triggered, the system will immediately halt and display the error page.

As this error code is not unique within the system, there are various items that might trigger this error code to be displayed:

  • JLoaderSQL::load: Ran out of time during load

Даже на таком надежном движке, как Joomla, не все всегда бывает гладко. Порой сайт не открывается, а вместо него появляется окно с текстом, что обнаружена ошибка. Если при входе на свой ресурс вы нашли подобное сообщение, не волнуйтесь — любую ошибку можно исправить. В данной статье будет рассмотрена ошибка Internal Server Error, которая вылетает под номером 500.
form-error-500

Почему при входе на сайте появляется ошибка 500

Эта проблема может появиться не только на ресурсе, на котором установлен Joomla.

Ошибка 500 «всеядная» и может съесть сайт на любом другом движке, не только Joomla или WordPress.

Причин возникновения сообщения Internal Server Error при входе очень много и без анализа проблемы вы не сможете найти истинное объяснение.

Анализ возникновения Internal Server Error необходимо начинать с сервера. Дело в том, что ошибка 500 касается именно проблем сервера. При этом необязательно нужно считать, что виноват хостинг-провайдер. Вполне может быть, что это вы сделали что-то не так. Ответить на этом можно только после просмотра файла сервера error.log. В нем содержится информация по последним ошибкам и вы наверняка найдете строчку с причиной, почему ваш сайт накрылся при входе. Самые частые поводы для появления надписи Internal Server Error:

  • очень часто пользователи превышают допустимые права на хостингах и сервера их банят за это;
  • вы пытаетесь запустить файл с недопустимым атрибутами;
  • определенный php-скрипт мог превысить лимит ожидания и сайт не открылся;
  • кроме того, ошибка 500 могла появиться, так как была обнаружена тотальная неисправность в php-коде;
  • вы попытались использовать файлы PERL, но функция их открытия на сервере не предусмотрена.

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

Как исправить Internal Server Error

Проблема в том, что зачастую сайты Joomla размещают на бесплатных хостингах. В таком случае даже если ошибка обнаружена на сайте, вы не сможете просмотреть лог и узнать, откуда растут ее корни. На платном хостинге вы бы могли написать в службу поддержки, и вам, как платящему клиенту провайдера, живо бы объяснили в чем причина и как устранить неполадку. В ином случае бороться с ошибкой придется самостоятельно.
https://www.youtube.com/watch?v=LvrTwMFvzw8
Очень часто проблема находится в файле .htaccess. В этом файле прописано, что разрешено делать движку, согласно требованиям сервера. Если есть несоответствия реальным требованиям хостинга и наступает момент, когда движок пытается загрузить недоступную функцию, тогда и появляется надпись с ошибкой. Найдите лог ее и тогда поймете, что нужно убрать с файла .htaccess. К примеру, если в логе написано:

php_value not allowed here

то проблема кроется в строке php_value в файле .htaccess.

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

Вам предстоит восстановить последнюю рабочую версию сайта Joomla. Сделать это можно, если переместить старые файлы на хостинг при помощи FTP-клиента. А порой проблема появляется после обновления движка до более новой версии. В таком случае вам понадобится откат. Похоже, что сервер не готов работать с новой версией Joomla и не соответствует требованиям.

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

What 500 Internal Server Error means?

Response status codes which beginning with the «5» number indicate that the server has encountered an error or is otherwise incapable of performing the request.

How the error 500 could look like on your site?

HTTP Error 500
Internal Server Error
500 Internal Server Error
HTTP 500 - Internal Server Error
Temporary Error (500)
HTTP 500 Internal Error
500 Error

How to solve 500 Internal Server Error? Most popular 500 Internal Server Error reasons:

Incorrect permissions

In most cases, the reason of 500 Internal Server Error is related to the incorrect file(s) or directories permissions.

Typical permissions in Linux environment are:

  • 644 for files
  • 755 for directories

Make sure your permissions are correct after upload or files extraction on the server. 

You can check permissions in System -> System information -> Folder permissions

and in your FTP client:

How to change permissions? Use your favorite FTP client and option File permissions (typically this option is available in right-click menu).

You are not sure if the permissions are correct? Please contact hosting administrator. More details in Joomla documentation.

Connection timeouts

If your script connects to external resources and those resources timeout, an HTTP 500 error can occur.
More appropriate timeout or upload limits rules should help.

Increase your php.ini settings:

max_execution_time = 60
upload_max_filesize = 32M

Corrupted .htaccess/php.ini file

It’s not as common, but make sure your .htaccess or php.ini (if you have) files are properly structured.

Use code editor and validate the file code:

It is also a good idea to temporarily delete the file and check the result. This will help you locate the problem more accurately.

Temporary server issues

Sometimes the error 500 may not be strictly related to your page or extensions, often the problem occurs due to configuration or server issues and the administrator’s help is necessary.

Hosting administrator have access to detailed server logs, so if all previous points seem to be correct it’s the first place where you search for help.

What is 500 Internal Server Error?

In short words — error 500 is an HTTP status code that informs you that page cannot be generated correctly. Why? There may be many reasons, continue reading.

What are HTTP status codes?

HTTP status codes are standard responses given by web servers on the Internet.
The codes help to understand what is the status of content you requested by the server.
For example, code 200 means that the content was loaded properly. ‘The request was fulfilled.

You can check all requests and status codes in the browser developer tools

The code 404 means that server can’t display any content for given URL, eg. can’t find an image you like to load.
The server has not found anything matching the URI given

So, the code can be very helpful to identify possible problems during page load.

"Whoops, looks like something went wrong", или что делать с ошибкой 500 в Joomla 4?

2 комментария

Что делать, если Joomla 4 выдаёт ошибку Sorry, there was a problem we could not recover from. The server returned a «500 — Whoops, looks like something went wrong»?

Время от времени Joomla может отображать страницу с ошибкой вместо ожидаемой страницы. Существует два типа страниц ошибок:

  1. Страница ошибки 404, вид и содержание которой зависят от применяемого шаблона. Такие ошибки возникают, когда сервер не может найти запрашиваемую страницу или ресурс. Подробнее про ошибки 404 в Joomla и про возможности кастомизации страниц таких ошибок смотрите здесь.
  2. Страница ошибки 500 с текстом «Произошла критическая ошибка» (на английском «Sorry, there was a problem we could not recover from») на красном фоне, которая отображается при возникновении серьезной ошибки на стороне сервера. Далее будем разбираться с тем, как решаются подобные проблемы.

Возможные причины

Существует множество возможных причин возникновения фатальных ошибок с кодом 500, среди которых:

  • Изменения в работе сервера, например, версия PHP, несовместимая с самой CMS Joomla или одним из установленных расширений.
  • Проблемы с дисковым пространством, использованием памяти или тайм-аутом скрипта.
  • Недавно установленное или включенное расширение, несовместимое с Joomla.

Что делать?

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

Активация режима отладки в админке

Если страница с текстом The server returned a «500 — Whoops, looks like something went wrong» возникает только на лицевых страницах:

  1. авторизуйтесь в админке,
  2. перейдите в раздел Общие настройки (Global Configuration),
  3. во вкладке Система (System) активируйте опцию Отладка системы (Debug System),
  4. во вкладке Сервер (Server) для опции Сообщения об ошибках (Error Reporting) установите значение Максимальные (Maximum).
  5. сохраните изменения.

Активация режима отладки через configuration.php

Если критическая ошибка возникает при запросах любых страниц сайта:

  1. найдите файл configuration.php в корневой папке сайта,
  2. измените права доступа к файлу на 644 (-rw-r—r—),
  3. откройте файл и измените значение переменной $debug на true, а переменной $error_reporting на maximum.
  4. сохраните изменения в файле.

Что делать дальше?

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

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

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

  1. через админку Joomla, если она доступна;
  2. через phpMyAdmin найдите расширение по названию в таблице базы данных #__extensions и установите его значение enabled на 0.

После решения проблемы

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

  1. Авторизуйтесь в панели управления,
  2. перейдите в Общие настройки (Global Configuration),
  3. во вкладке Система (System) отключите опцию Отладка системы (Debug System),
  4. во вкладке Сервер (Server) для опции Сообщения об ошибках (Error Reporting) установите значение По умолчанию для системы (System Default).

Вступление

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

Основные языки программирования, на которых написана CMS Joomla это два сценарных языка PHP и JavaScript. При этом сценарный язык (анг.scripting language) PHP является основным языком Joomla и, как правило, ошибки, возникающие при работе с Joomla это результат его неправильной (некорректной) работы.

В этой статье я сформулирую первые действия, что сделать сначала, чтобы осуществить правильный поиск ошибок и после найти отладку (способ исправления) «неправильного» скрипта вашей Joomla.

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

Видимость ошибок в браузере

Первое место, где вы видите сообщение о возникшей серьезной ошибке, это ваш рабочий браузер. Вы наверняка встречали при открытии сайтов, вместо страниц сайта пустое окно браузера и в нем цифровая (кодовая) ошибка. И речь не идет об ошибках класса 4×× (Ошибки со стороны клиента), например, ошибка 403-Ничего не найдено. Речь о более серьезных ошибок, начинающихся с цифры «5». Это класса ошибок 5×× (Ошибки со стороны сервера).

Ошибка 500

Ошибка 500 это любая ошибка со стороны сервера, которая не расшифрована в остальных кодах 501-510. Это наиболее часто встречающаяся ошибка, связанная с ошибками в коде системы. Если при работе с системой Joomla вы в браузере видите сообщение об ошибке 500 , эта ошибка выдается сервером Apache и ее причину нужно смотреть в логе ошибок вашего веб-сервера. (О логах ошибок веб-сервера читать ТУТ).

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

Вообще говоря, интерпретатор PHP всегда определяет возникающие ошибки. И показ ошибок Вам, изначально, зависит от настроек конкретного сервера. Сервер должен быть настроен так, чтобы интерпретатор PHP имел возможность сообщить об ошибке, а вы могли увидеть это сообщение. Причем интерпретатору должен быть указан вид вывода сообщения об ошибке. Это или окно браузера или запись в журнале ошибок или и то и другое по выбору.

Настройка вывода ошибок зависит от вашего хостинга.

Вывод ошибок на рабочем сервере

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

Вывод ошибок на локальном сервере

На локальном (домашнем) сервере, у вас есть все права на любые настройки сервера и вывод ошибок вы можете настроить сами. Наверное, все готовые платформы локального сервера (OpenServers, Денвер, Xmapp и т.д.) уже настроены на вывод ошибок в журнал и/или на экран. Но в том, то и прелесть локального сервера, вы всегда можете изменить любые его настройки.

Poisk-oshibok-php-6

Настроить вывод ошибок на локальном сервере нужно в файле php.ini.

Для разрешения вывода ошибок в файле php.ini должна быть строка:

error_reporting(E_ALL ^ E_NOTICE);// Добавлять сообщения обо всех ошибках, кроме ошибок NOTICE 
// Это значение включено по умолчанию в php.ini

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

error_reporting = E_ALL //Вывод всех ошибок//

Для вывода ошибок в журнал, должна быть строка:

log_errors = On

Для вывода ошибок на экран в файле php.ini должна быть строка:

display_errors = On

Вывод ошибок на экран, во время старта PHP

display_startup_errors=On

Понятно, что замена «on» на «off» все это отключит.

Повторюсь, интерпретатор PHP сам выводит сообщения об ошибках, нужно только разрешить и дать ему возможность (настроить) эти сообщения выводить в журнал на сервере, а при необходимости показывать их на экране.

Но вернемся к рабочим серверам и CMS Joomla. В Joomla есть функция в административной панели сайта, включив которую вы можете выводить ошибки системы на экран.

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

Вывод ошибок, режим отладка Joomla 2,5

Административная панель сайта ->Меню ->Сайт->Общие настройки->Система

Poisk-oshibok-php-1

Вывод ошибок, режим отладка Joomla 3,x

Административная панель сайта-> Меню ->Сайт->Общие настройки->Система

Poisk-oshibok-php-3

В обоих версиях можно настроить, какой режим вывода ошибок во время отладки должен быть.

Poisk-oshibok-php-2

 Poisk-oshibok-php-4

Включение режима отладки системы Joomla из панели сайта, может не сработать. Это может произойти, если на вашем хостинге такой режим не включен (в файле php.ini). Если у вас нет доступа к файлу php.ini, а потребность включить режим отладки есть, то просто напишите в support вашего хостинга и попросите временно включить режим вывода ошибок. ( Я так и делаю). После устранения ошибки, верните все в исходное состояние, иначе гости вашего сайта будут видеть все ошибки на экране.

Но и из этой ситуации, есть выход. Есть плагин Joomla, который выводит ошибки системы во всплывающем окне и с видимостью только для вас. Это плагин j!Dump.

Плагин j!Dump Joomla

Poisk-oshibok-php-5

Это плагин для отладки системы Joomla в реальном времени, с выводом ошибок на экран только для вас. Плагин работает на версиях Joomla 2.5 и 3.х. Устанавливается плагин стандартным способом. В настройках понятен и, по отзывам, вполне работоспособен. На сайте extensions.jоomla.com этот плагин есть.

Итоги статьи

  • Итак, при работе с Joomla у вас «выскакивают» ошибки на стороне сервера приводящие к некорректной работе системы или ее отключении (Error). Что делать?
  • Если вы не программист и не находитесь в процессе разработки и к этому у вас рабочий (не локальный сервер), то прямиком «идете» на сервер и смотрите журнал ошибок (лог ошибок);
  • Если журнал ошибок отсутствует, то в настройках сервера ищите и включаете запись ошибок в журнал;
  • Если из журнала не удалось понять причину ошибки, включаете режим «Отладка системы» в административной панели сайта;
  • Если режим отладки не включается, обращаетесь в support сервера с просьбой такой режим временно включить. Включается он в файле php.ini;
  • Если вы работаете на локальном (домашнем) сервере, то самостоятельно проверьте настройки возможности интерпретатора PHP для вывода, показа и записи PHP ошибок, возникающих при работе. Опять таки, файл php.ini.

Это все, что хотелось сказать про Поиск и вывод PHP ошибок Joomla!

©Joomla-abc.ru

Другие статьи 

  • Сайт ошибка 404 прикол
  • Самарская автономка коды ошибок неисправности
  • Самая важнейшая часть операции завершена ошибка
  • Сайт выдает ошибку 404 как исправить
  • Сайт недоступен ошибка 301