При попытке входа в панель администрирования Joomla иногда можно получить сообщение «500 — обнаружена ошибка». При этом сайт работает. Причин может быть много. Пятисотая ошибка не имеет четкого описания. Понять по её коду что случилось — нельзя. Однако, расстраиваться раньше времени не стоит.
Сначала следует открыть журнал ошибок (лог) и посмотреть, есть ли там сообщения об ошибках. Он лежит в каталоге «/logs» и называется «error.php». Смотрите последние записи, возможно, они прояснят ситуацию. Например, мы сможем узнать из-за какого модуля она происходит. Если виновник найден, то остаёться подключиться к базе данных и отключить этот модуль или плагин.
Если в логе ничего подозрительного нет, то есть вероятность, что проблема возникает из-за невозможности записи в каталоги «/logs» и «/tmp». Попробуйте выставить на эти каталоги и внутренние файлы полные права — «777». Сделать это можно через FTP клиент. У многих проблема решалась таким образом.
Если не помогло, то стоит проверить пути к этим каталогам в конфигурационном файле — «configuration.php». Открываем его через текстовый редактор и ищем строки:
public $log_path = ‘/logs’;
public $tmp_path = ‘/tmp’;
Так они выглядели у меня при возникновении 500 ошибки. Рекомендую прописать эти пути от корневой директории сервера, а не от корня сайта. Полный путь к каталогу сайта может помочь вывести следующий код:
<?php echo $_SERVER['DOCUMENT_ROOT']; ?>
Создаём в корне сайта скрипт test.php, прописываем туда этот код и обращаемся к нему через браузер. Смотрим, какой путь он показывает. Его вставляем в конфигурационный файл «джумлы». Получаем что-то вроде этого:
public $log_path = ‘/home/www/realadmin/logs’;
public $tmp_path = ‘/home/www/realadmin/tmp’;
Если проблема не решилась, значит требуется детальный анализ сайта и установленных модулей. Проверьте корректность файла «htaccess». Поочередно отключайте установленные модули и плагины через базу данных. Но делайте все аккуратно, чтобы не усугубить ситуацию.
Вам два файла нужно. Первый — error.log, второй — access.log (хотя он на данном этапе не сильно и нужен). Запросите у техподдержки эти два лога, хотя бы первый.
Запрошу. А почему этих файлов нет в архиве с, например, резервной копией, вчерашней, когда проблема там уже висела? Почему только через поддержку?
Касательно доступа — там у вас скорее всего куча ботов шарится по файлам через шеллы. Если вы говорите, что в эту дыру годами не заглядывали. Может какой то бот что то и сломал.
Не совсем то я имел в виду. На сайт заходили и все там работало ок, я и сам еще 3 дня назад ведь туда заходил (в админку). Проблема возникла 2 мая после моего посещения админки 1 мая (или 30 апреля, не уверен). То есть сайт не то, что просто лежал мертвым грузом, он функционировал. Кстати, сам сайт для посетителей-то нормально себя ведет. Проблема (очевидная) только с редактированием.
Если вы скачали бекап — разворачивайте на OpenServer и включайте показ ошибок, включайте ведение логов и смотрите, что выдает.
Я скачаю этот, проблемный бекап, чтобы просто разобраться по-любому. Но есть бекапы до 30 апреля, то есть до того момента, как я сам в админку заходил, они, видимо, без этой проблемы. На хостинге я не решаюсь пока ставить восстановление с заменой данных, так как вернуть уже не смогу, поэтому пытаюсь пока решить так. Скачал бекапы разных дат (они на хостинге хранятся недолго). Но вот пока не получается запустить сайт на локальном сервере (денвер), там много вопросов, не для этой темы.
Почитайте по поводу 500-й ошибки, ее возможные причины, их не так много. Начните изучать ваш случай, и найдете.
Спасибо за ссылку, буду изучать. Но у меня, кстати, хоть и 500, но надпись другая — не внутренняя ошибка, а просто «500-Ошибка…
Вот это дела! Забыл, как называлась ошибка, полез в 100-й раз на сайт и вдруг пустило в админку! Что за бред? Мистика какая-то. Как такое могло произойти? 3 дня на нервах, а тут не понятно почему… Буду звонить на хостинг. Короче, я в недоумении полнейшем. Ладно, посмотрим, что будет дальше.
Вопрос не закрываю пока все равно, буду изучать тему, так как проблема есть по-любому. Пока вот такие неожиданные дела, даже не знаю, радоваться или насторожится, скорее, второе.
П.С.Так, зашел, смотрю — в панели 2 человека, один авторизовался час назад,я второй, суперюзер. Значит кто-то исправил и зашел? Буду выяснять. Детектив.
Даже на таком надежном движке, как Joomla, не все всегда бывает гладко. Порой сайт не открывается, а вместо него появляется окно с текстом, что обнаружена ошибка. Если при входе на свой ресурс вы нашли подобное сообщение, не волнуйтесь — любую ошибку можно исправить. В данной статье будет рассмотрена ошибка Internal Server 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 и не соответствует требованиям.
Если ошибка сервера появляется слишком часто и вам приходится отказываться от инструментов, которые вам необходимы, тогда задумайтесь над сменой хостинг-провайдера. Найдите такой сервер, который дает вам широкие права и где есть нормальная служба поддержки, всегда готовая удружить заблудшим вебмастерам.
Даже на таком надежном движке, как Joomla, не все всегда бывает гладко. Порой сайт не открывается, а вместо него появляется окно с текстом, что обнаружена ошибка. Если при входе на свой ресурс вы нашли подобное сообщение, не волнуйтесь — любую ошибку можно исправить. В данной статье будет рассмотрена ошибка Internal Server Error, которая вылетает под номером 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 и не соответствует требованиям.
Если ошибка сервера появляется слишком часто и вам приходится отказываться от инструментов, которые вам необходимы, тогда задумайтесь над сменой хостинг-провайдера. Найдите такой сервер, который дает вам широкие права и где есть нормальная служба поддержки, всегда готовая удружить заблудшим вебмастерам.
Вступление
Найти ошибку, которая привела к некорректной или фатальной ошибки 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 и т.д.) уже настроены на вывод ошибок в журнал и/или на экран. Но в том, то и прелесть локального сервера, вы всегда можете изменить любые его настройки.
Настроить вывод ошибок на локальном сервере нужно в файле 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 есть функция в административной панели сайта, включив которую вы можете выводить ошибки системы на экран.
Вывод ошибок системы в панели Joomla
В CMS Joomla предусмотрено включение режима отладки системы, при которой все, подчеркну ВСЕ, ошибки будут выводиться на экран вместе их возникновения и в режиме реального времени.
Вывод ошибок, режим отладка Joomla 2,5
Административная панель сайта ->Меню ->Сайт->Общие настройки->Система
Вывод ошибок, режим отладка Joomla 3,x
Административная панель сайта-> Меню ->Сайт->Общие настройки->Система
В обоих версиях можно настроить, какой режим вывода ошибок во время отладки должен быть.
Включение режима отладки системы Joomla из панели сайта, может не сработать. Это может произойти, если на вашем хостинге такой режим не включен (в файле php.ini). Если у вас нет доступа к файлу php.ini, а потребность включить режим отладки есть, то просто напишите в support вашего хостинга и попросите временно включить режим вывода ошибок. ( Я так и делаю). После устранения ошибки, верните все в исходное состояние, иначе гости вашего сайта будут видеть все ошибки на экране.
Но и из этой ситуации, есть выход. Есть плагин Joomla, который выводит ошибки системы во всплывающем окне и с видимостью только для вас. Это плагин j!Dump.
Плагин j!Dump Joomla
Это плагин для отладки системы Joomla в реальном времени, с выводом ошибок на экран только для вас. Плагин работает на версиях Joomla 2.5 и 3.х. Устанавливается плагин стандартным способом. В настройках понятен и, по отзывам, вполне работоспособен. На сайте extensions.jоomla.com этот плагин есть.
Итоги статьи
- Итак, при работе с Joomla у вас «выскакивают» ошибки на стороне сервера приводящие к некорректной работе системы или ее отключении (Error). Что делать?
- Если вы не программист и не находитесь в процессе разработки и к этому у вас рабочий (не локальный сервер), то прямиком «идете» на сервер и смотрите журнал ошибок (лог ошибок);
- Если журнал ошибок отсутствует, то в настройках сервера ищите и включаете запись ошибок в журнал;
- Если из журнала не удалось понять причину ошибки, включаете режим «Отладка системы» в административной панели сайта;
- Если режим отладки не включается, обращаетесь в support сервера с просьбой такой режим временно включить. Включается он в файле php.ini;
- Если вы работаете на локальном (домашнем) сервере, то самостоятельно проверьте настройки возможности интерпретатора PHP для вывода, показа и записи PHP ошибок, возникающих при работе. Опять таки, файл php.ini.
Это все, что хотелось сказать про Поиск и вывод PHP ошибок Joomla!
©Joomla-abc.ru
Другие статьи
Ошибки Joomla
Вам два файла нужно. Первый — error.log, второй — access.log (хотя он на данном этапе не сильно и нужен). Запросите у техподдержки эти два лога, хотя бы первый.
Запрошу. А почему этих файлов нет в архиве с, например, резервной копией, вчерашней, когда проблема там уже висела? Почему только через поддержку?
Касательно доступа — там у вас скорее всего куча ботов шарится по файлам через шеллы. Если вы говорите, что в эту дыру годами не заглядывали. Может какой то бот что то и сломал.
Не совсем то я имел в виду. На сайт заходили и все там работало ок, я и сам еще 3 дня назад ведь туда заходил (в админку). Проблема возникла 2 мая после моего посещения админки 1 мая (или 30 апреля, не уверен). То есть сайт не то, что просто лежал мертвым грузом, он функционировал. Кстати, сам сайт для посетителей-то нормально себя ведет. Проблема (очевидная) только с редактированием.
Если вы скачали бекап — разворачивайте на OpenServer и включайте показ ошибок, включайте ведение логов и смотрите, что выдает.
Я скачаю этот, проблемный бекап, чтобы просто разобраться по-любому. Но есть бекапы до 30 апреля, то есть до того момента, как я сам в админку заходил, они, видимо, без этой проблемы. На хостинге я не решаюсь пока ставить восстановление с заменой данных, так как вернуть уже не смогу, поэтому пытаюсь пока решить так. Скачал бекапы разных дат (они на хостинге хранятся недолго). Но вот пока не получается запустить сайт на локальном сервере (денвер), там много вопросов, не для этой темы.
Почитайте по поводу 500-й ошибки, ее возможные причины, их не так много. Начните изучать ваш случай, и найдете.
Спасибо за ссылку, буду изучать. Но у меня, кстати, хоть и 500, но надпись другая — не внутренняя ошибка, а просто «500-Ошибка…
Вот это дела! Забыл, как называлась ошибка, полез в 100-й раз на сайт и вдруг пустило в админку! Что за бред? Мистика какая-то. Как такое могло произойти? 3 дня на нервах, а тут не понятно почему… Буду звонить на хостинг. Короче, я в недоумении полнейшем. Ладно, посмотрим, что будет дальше.
Вопрос не закрываю пока все равно, буду изучать тему, так как проблема есть по-любому. Пока вот такие неожиданные дела, даже не знаю, радоваться или насторожится, скорее, второе.
П.С.Так, зашел, смотрю — в панели 2 человека, один авторизовался час назад,я второй, суперюзер. Значит кто-то исправил и зашел? Буду выяснять. Детектив.
from the information provided it is impossible to help.
What version of Joomla did you upgrade from?
How did you upgrade?
What version of php? (there is no version called latest)
What extensions (and template) do you have installed?
If you set error reporting to maximim or development in configuration.php what error is displayed on the screen and/or in your error logs?
ghost
mentioned this issue
Sep 21, 2017
Hello! I have the same problem.
Version PHP: 5.5.31
Version Pre Update: 3.7
Version Post Update: 3.8
Fatal error: Cannot redeclare class JInput in /website/public_html/libraries/fof/input/jinput/input.php on line 39
I updated after login from the panel of administrator
There was a message for update version at 3.8, I clicked the button and after then the bar went to 100%.
This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/18025.
@romocetra Check if you have /libraries/joomla/input/input.php
file.
Same problem. HTTP ERROR 500, for administration only. The site is working.
Updated from 3.7.4 to 3.8.0.
It seems some PageBuilder problem:
[Thu Sep 21 16:06:56 2017] [error] PHP Fatal error: Call to undefined method JAdminCssMenu::addChild() in /home/***/public_html/administrator/modules/mod_sppagebuilder_admin_menu/tmpl/default_enabled.php on line 16
@polux1 Rename public_html/administrator/modules/mod_sppagebuilder_admin_menu then update sppagebuilder.
Sorry but I don’t have this folder, how can I find it?
ghost
mentioned this issue
Sep 21, 2017
@romocetra
- Make sure you have a backup of your site (files and database).
- Download this package
- Upload it to your site root and extract it with file manager.
- Remove installation folder.
- Then use this file as described here.
HTTP ERROR 500
No folder input and no file input.php
I have a similar problem after update from Joomla 3.7.5 to Joomla 3.8. What’s happening?
php 7.0
I did all steps but I have this error when I execute https://website/administrator/postupdate.php
Fatal error: Call to undefined method JVersion::refreshMediaVersion() in /website/public_html/libraries/src/Application/WebApplication.php on line 1064
@romocetra Please check if files /libraries/src/Version.php and libraries/classmap.php exists
Another datapoint. Running postupdate.php brings up:
Call to undefined method JVersion::refreshMediaVersion()
but then clicking on any of the menu items gets:
«Undefined class constant ‘PRODUCT’»
Hi
A bit off topic.
I get HTTP ERROR 500 before updating from 3.7.5 to 3.8 just after clicking on ‘Install the Update’ button.
I don’t have any issues in admin area after that but I can’t go to 3.8. Framework is Gantry 5.
Any idea?
Thanks
@franz-wohlkoenig
No I didn’t ask there as I don’t know if the issue is realated to them.
I will do so if there is no other solution.
my case:
fresh installed joomla 3.8 (local install with custom hosts file)
php-fpm 5.6.30
nginx 1.10.3
PHP script execution mode:
FPM mode give 500 error
FCGId mode works
No errors logged on error log file.
the problem is that the site needs a database fix…
Since you cannot get into admin you need to do it manually by code.
So first of all backup.
Then open your index.php (not in the administrator, the normal one)
between
require_once JPATH_BASE . '/includes/framework.php';
and
// Set profiler start time and memory usage and mark afterLoad in the profiler. JDEBUG ? JProfiler::getInstance('Application')->setStart($startTime, $startMem)->mark('afterLoad') : null;
place
require(JPATH_ADMINISTRATOR.DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_installer'.DIRECTORY_SEPARATOR.'models'.DIRECTORY_SEPARATOR.'database.php');
$model = new InstallerModelDatabase();
$model->fix();
run the main site page.
Then delete the inserted code and refresh the site.
You are ready.
@kintaro1981 Preferred method is described below
- Make sure you have a backup of your site (files and database).
- Download this package
- Upload it to your site root and extract it with file manager.
- Remove installation folder.
- Remove /libraries/cms/version/ folder.
- Then use this file as described here.
I have the same problem but this will appear if I turned to OFFLINE YES my site setting. I want to set this as my website is under maintenance but sad to say that after updating to 3.8 this happened.
I found the reason for not updating properly and doing a ajax error. (the error above appears when you use the unzip update method).
It appears that for security reasons some servers delete the file
/public_html/administrator/components/com_joomlaupdate/restore.php
So, when we do it manually (by extracting the zip file), the database is not fixed.
This is why we need one of the above fixes.
You mean we will delete this file? /public_html/administrator/components/com_joomlaupdate/restore.php
@juriemancia Check if /public_html/administrator/components/com_joomlaupdate/restore.php
exist. If you wont you can disable offline mode by changing public $offline = '1';
to public $offline = '0';
in configuration.php
.
I mean that in my hosting environment deletes it and we had to add it to the whitelist in order not to do so.
I have the same issue. On my localhost (MAMP), I was building a new site, and updated it from 3.7.5 and have lost everything. I normally backup using AKEEBA, but this one time I have stuffed up and didn’t back up. I am on a MAC, so I tried using Time Machine to go back a week and recall the site and database, but I have tried several ways including deleting my MAMP folder in Applications and bringing back last week folder… but MySQL stops working. After I delete the ib_logfile0,ib_logfile0,ibdata1 in MAMP I can get MYSQL to start, and I can install a new test site and everything worked, but with the site I was build I get ‘Error displaying the error page’. I did get HTTP ERROR 500 after updating joomla 3.8 at one stage, but after recalling the older version of the site back… I now get ‘Error displaying the error page’.
I am desperate to get this fixed.
This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/18025.
Turn on error reporting to maximum (open configuration.php and set error reporting to ‘maximum’;)
Then check for error_log file using your file manager.
The error you get, if I can recall correctly is that your template cannot handle and show you the error.
This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/18025.
Can I make a comment on a closed topic? I will try
I had also a 500 error.
Not so long ago I changed from php 5.6 to php 7.0
I forgot to change the upload_max_files in the php.ini for the php 7.0 version.
After changing that the update went right!
That was the solution for me too indeed. I did though change back to PHP 5.6 and then did the upgrade. After upgrade (to 3.8.2 by now) I went back to PHP 7.0 and all good.
Not sure how to update the upload_max_files but will try to find it. At least with the tip of Rolf123 I got the upgrade done, thanks!
Hello
I checked solutions but it is not working for me http://lavetatrails.org/ can you help me out from this.
I attempted to update my Joomla! site and lost my internet connection midway. Now there are errors related to component. src showing up.
I think when you lost your internet connection midway you can try to do the
update again using an ftp-program to the server. The internet connection
has to be stable otherwise there will be a risk off losing files.
please us the forum for support httpd://forum.joomla.org
Okay Thank you
…
On 10 Dec 2017 1:58 am, «Rolf Kuilder» ***@***.***> wrote:
I think when you lost your internet connection midway you can try to do the
update again using an ftp-program to the server. The internet connection
has to be stable otherwise there will be a risk off losing files.
Rolf Kuilder
IamOK — Internettoepassingen en websites
Middingstraat 1
<https://maps.google.com/?q=Middingstraat+1+%0D+5371+EJ+Ravenstein&entry=gmail&source=g>
5371 EJ Ravenstein
06 5112 46 45
www.iamok.nl
***@***.*** ***@***.***>
BTW Nr: NL124097686B01
KvK: 9168440
Bankrek: 1324.33.427
De algemene voorwaarden zijn van toepassing op alle aanbiedingen,
rechtsbetrekkingen en overeenkomsten waarbij «I am OK» goederen en/of
diensten van welke aard ook levert.
ALGEMENE VOORWAARDEN INFORMATIETECHNOLOGIE* Gedeponeerd bij de Griffie van
de Arrondissementsrechtbank te Den Haag op 3 juni 2003 onder nummer
60/2003.
2017-12-09 19:26 GMT+01:00 ggauravbhandari ***@***.***>:
> Hello
>
> I checked solutions but it is not working for me
http://lavetatrails.org/
> can you help me out from this.
>
> I attempted to update my Joomla! site and lost my internet connection
> midway. Now there are errors related to component. src showing up.
>
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub
> <#18025#
issuecomment-350496075>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AQFRWRJcJP1iX-
fXeN2HHQPHn4MsWdv7ks5s-tDsgaJpZM4PegaA>
> .
>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#18025 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AEhFNOAOChZveciRaUcZyOJ48TbT0GZlks5s-u1YgaJpZM4PegaA>
.
Hello,
I am a bit late with noticing the problem after the update in November.. I have been busy lately and I am also not best programmer ever..
So I also have this error 500 and checking on the error log it shows problems in the src folder.
I tried to copy paste the src folder from another website which did fix the problem for backend and frontend for the welcome page, but then I could not open any other page.
Does the src folder contain information about a certain website and I can’t copy paste from somewhere else? Or it did fix something and the new errors come from somewhere else?
Would a manual update help in this case or not necessarily?
Thank you for your attention and hoping for solutions
Alqua
Give me details i will fix it for you
…
On Sun, Jan 21, 2018 at 4:03 AM, Alqua ***@***.***> wrote:
Hello,
I am a bit late with noticing the problem after the update in November.. I
have been busy lately and I am also not best programmer ever..
So I also have this error 500 and checking on the error log it shows
problems in the src folder.
I tried to copy paste the src folder from another website which did fix
the problem for backend and frontend for the welcome page, but then I could
not open any other page.
Does the src folder contain information about a certain website and I
can’t copy paste from somewhere else? Or it did fix something and the new
errors come from somewhere else?
Would a manual update help in this case or not necessarily?
Thank you for your attention and hoping for solutions
Alqua
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#18025 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AEhFNPyyqHYO0ggSQXyTWohCWAo4vf5lks5tMmmcgaJpZM4PegaA>
.
—
*Thanks and Regards*
*Er. Gaurav Bhandari*
*Technical Team Lead *
*Indore(M.P.)*
What other details do you need?
Can you answer my question about the src folder?
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.
Вступление
Найти ошибку, которая привела к некорректной или фатальной ошибки 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 и т.д.) уже настроены на вывод ошибок в журнал и/или на экран. Но в том, то и прелесть локального сервера, вы всегда можете изменить любые его настройки.
Настроить вывод ошибок на локальном сервере нужно в файле 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
Административная панель сайта ->Меню ->Сайт->Общие настройки->Система
Вывод ошибок, режим отладка Joomla 3,x
Административная панель сайта-> Меню ->Сайт->Общие настройки->Система
В обоих версиях можно настроить, какой режим вывода ошибок во время отладки должен быть.
Включение режима отладки системы Joomla из панели сайта, может не сработать. Это может произойти, если на вашем хостинге такой режим не включен (в файле php.ini). Если у вас нет доступа к файлу php.ini, а потребность включить режим отладки есть, то просто напишите в support вашего хостинга и попросите временно включить режим вывода ошибок. ( Я так и делаю). После устранения ошибки, верните все в исходное состояние, иначе гости вашего сайта будут видеть все ошибки на экране.
Но и из этой ситуации, есть выход. Есть плагин Joomla, который выводит ошибки системы во всплывающем окне и с видимостью только для вас. Это плагин j!Dump.
Плагин j!Dump Joomla
Это плагин для отладки системы Joomla в реальном времени, с выводом ошибок на экран только для вас. Плагин работает на версиях Joomla 2.5 и 3.х. Устанавливается плагин стандартным способом. В настройках понятен и, по отзывам, вполне работоспособен. На сайте extensions.jоomla.com этот плагин есть.
Итоги статьи
- Итак, при работе с Joomla у вас «выскакивают» ошибки на стороне сервера приводящие к некорректной работе системы или ее отключении (Error). Что делать?
- Если вы не программист и не находитесь в процессе разработки и к этому у вас рабочий (не локальный сервер), то прямиком «идете» на сервер и смотрите журнал ошибок (лог ошибок);
- Если журнал ошибок отсутствует, то в настройках сервера ищите и включаете запись ошибок в журнал;
- Если из журнала не удалось понять причину ошибки, включаете режим «Отладка системы» в административной панели сайта;
- Если режим отладки не включается, обращаетесь в support сервера с просьбой такой режим временно включить. Включается он в файле php.ini;
- Если вы работаете на локальном (домашнем) сервере, то самостоятельно проверьте настройки возможности интерпретатора PHP для вывода, показа и записи PHP ошибок, возникающих при работе. Опять таки, файл php.ini.
Это все, что хотелось сказать про Поиск и вывод PHP ошибок Joomla!
©Joomla-abc.ru
Другие статьи
Файл error_log проверен. Сначала писал об ошибки «PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 byt)» после того как в бд были очищены некоторые таблицы. При входе в админку ошибка «HTTP ERROR 500″, но в логах уже «PHP Warning: include(): Failed opening ‘/images/system/system.php’ for inclusion (include_path=’.:/opt/php56/share/pear:/usr/share/pear’)».
И все идет по кругу, как решить непонятно
Похожие вопросы
Помочь настроить сайт на Joomla после установки SSL
Здравствуйте, нужна помощь в настройке корректной работы сайта после установки ssl.
Не могу обновиться с версии Joomla 3.9.27 на 3.10.11 и сменить версию PHP 7.4 на 8.0
1 вопрос:
Скачал файлы через VPN, пробую через консоль. Выдаёт при загрузке ошибку «500». Никак не могу обновить сайт. Пакеты есть, а сайт не хочет их принять.
2-й вопрос:
Сайт просит сменить версию PHP c 7.4 на 8.0 и выше. Но…
Ошибка Unknown column ‘map_suffix’ in ‘field list’
Добрый день. При сохранении материалов в joomla 3.10.10 возникает ошибка. «Не удалось сохранить элемент: Unknown column ‘map_suffix’ in ‘field list'»
Также при сохранении категории выдает ошибку «1054 Unknown column ‘map_suffix’…
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
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 может отображать страницу с ошибкой вместо ожидаемой страницы. Существует два типа страниц ошибок:
- Страница ошибки 404, вид и содержание которой зависят от применяемого шаблона. Такие ошибки возникают, когда сервер не может найти запрашиваемую страницу или ресурс. Подробнее про ошибки 404 в Joomla и про возможности кастомизации страниц таких ошибок смотрите здесь.
- Страница ошибки 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» возникает только на лицевых страницах:
- авторизуйтесь в админке,
- перейдите в раздел Общие настройки (Global Configuration),
- во вкладке Система (System) активируйте опцию Отладка системы (Debug System),
- во вкладке Сервер (Server) для опции Сообщения об ошибках (Error Reporting) установите значение Максимальные (Maximum).
- сохраните изменения.
Активация режима отладки через configuration.php
Если критическая ошибка возникает при запросах любых страниц сайта:
- найдите файл configuration.php в корневой папке сайта,
- измените права доступа к файлу на 644 (-rw-r—r—),
- откройте файл и измените значение переменной
$debug
наtrue
, а переменной$error_reporting
наmaximum
. - сохраните изменения в файле.
Что делать дальше?
Теперь при перезагрузке страницы с уведомлением о критической ошибке будет отображаться отладочная информация с ошибками, которые возникают при обработке запрашиваемой страницы сервером:
Первый элемент в трассировке стека указывает, где возникла ошибка. Иногда этого достаточно, чтобы выявить неисправное расширение. Иногда неисправное расширение находится дальше по трассировке стека. Если трассировка стека вам ни о чем не говорит, вы можете приложить её в комментарии к данному материалу, и мы постараемся вам помочь.
Если вы сумеете определить неисправное расширение, то отключите его одним из способов:
- через админку Joomla, если она доступна;
- через phpMyAdmin найдите расширение по названию в таблице базы данных
#__extensions
и установите его значение enabled на 0.
После решения проблемы
После того, как вы найдёте причину ошибки и устраните её, необходимо отключить режим отладки и показ ошибок на веб-страницах вашего сайта:
- Авторизуйтесь в панели управления,
- перейдите в Общие настройки (Global Configuration),
- во вкладке Система (System) отключите опцию Отладка системы (Debug System),
- во вкладке Сервер (Server) для опции Сообщения об ошибках (Error Reporting) установите значение По умолчанию для системы (System Default).