25.05.2019 |
Категория FAQ
Разберёмся как сделать включение / отключение показа ошибок на сайте. Через админку и через файл htaccess.
Показ ошибок (Notice, Warning, Fatal Error) это важная и нужная функция, хорошо что она есть! Иначе бы вебмастера месяцами искали вручную ошибки в коде своего сайта.
Как включить показ ошибок из админки Joomla 3?
Для этого в админке Joomla переходим «Система — Общие настройки».
Переходим на вкладку «Сервер», там увидите опцию «Сообщения об ошибках». Выбирайте режим «Максимум».
Сохраняем.
После этого на страницах сайта будут появляться сообщения об ошибках, если таковые имеются. Это полезно, если где-то на сайте у вас появляется белый экран.
После включения показа сообщений об ошибках на белом экране вы увидите тип ошибки и её описание.
По этому описанию можно найти решение в поиске Яндекса или Гугла.
Включение показа ошибок php через configuration.php
Если нет доступа к админке, или она не работает, то показ ошибок можно включить через файл configuration.php, который находиться в корневой папке вашего сайта.
В нём есть директива
public $error_reporting = 'default';
Чтобы включить показ ошибок, измените значение default на maximum
Как включить показ ошибок через .htaccess
Если у вас не Joomla, а свой скрипт или по каким то причинам не получается включить сообщения об ошибках первыми двумя способами, то это можно сделать через файл .htaccess, который также находится в корневой папке вашего сайта.
Открываем .htaccess — обратите внимание точка впереди. Если у вас нет такого файла, то создайте его.
В CMS системах он обычно называется htaccess.txt и его достаточно просто переименовать в .htaccess
В самом верху добавляем строчку:
php_flag display_errors on
А строчка:
php_flag display_errors off
выключает показ ошибок.
Какие сообщения об ошибках php бывают?
Самые частые это:
Notice — уведомление о незначительных ошибках в коде. Обычно работоспособность сайта при этом сохраняется.
Просто в шапке выходят такие вот уведомления.
Warning — предупреждение о более серьёзных ошибках. Иногда при таком предупреждении работоспособность сайта также сохраняется, иногда белый экран.
Fatal Error — предупреждение о критических ошибках, при которых выполнение сценариев невозможно. Сопровождается белым экраном.
Отключайте показ ошибок!
После включения и наладки сайта обязательно отключайте показ ошибок. Потому что это НЕ безопасно, да и посетителям сайта их видеть незачем.
Желаю вам всего хорошего!
Вступление
Найти ошибку, которая привела к некорректной или фатальной ошибки 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
Содержание
- Как включить показ ошибок в PHP
- Как включить показ ошибок из админки Joomla 3?
- Включение показа ошибок php через configuration.php
- Как включить показ ошибок через .htaccess
- Какие сообщения об ошибках php бывают?
- Отключайте показ ошибок!
- Joomla Error Reporting : Explained
- Arvind Chauhan
- 1. Overview
- 2. When to turn it on?
- 3. How to proceed
- 4. Recommendations
- 5. Live example
- 6. Joomla extension for Error Reporting
- Белый экран смерти в Joomla – находим и устраняем причину
- Вариант #1. Измените режим сообщения об ошибках на Максимум
- Вариант #2. Отредактируйте файл .htaccess
- Вариант #3. Отредактируйте файл index.php
- Вариант #4. Отредактируйте файл php.ini
- Вариант #5. Проверьте логи сервера
- Вы нашли сообщение об ошибке. И что теперь?
- Проблемы с расширением? Отключите его.
- Проблемы с файлами Joomla? Закачайте их заново.
- Ничего не помогает? Время обратиться за помощью!
- Поиск и вывод PHP ошибок Joomla
- Вступление
- Видимость ошибок в браузере
- Ошибка 500
- Вывод ошибок на рабочем сервере
- Вывод ошибок на локальном сервере
- Вывод ошибок системы в панели Joomla
- Вывод ошибок, режим отладка Joomla 2,5
- Вывод ошибок, режим отладка Joomla 3,x
- Плагин j!Dump Joomla
- Итоги статьи
Как включить показ ошибок в PHP
Разберёмся как сделать включение / отключение показа ошибок на сайте. Через админку и через файл htaccess.
Показ ошибок (Notice, Warning, Fatal Error) это важная и нужная функция, хорошо что она есть! Иначе бы вебмастера месяцами искали вручную ошибки в коде своего сайта.
Как включить показ ошибок из админки Joomla 3?
Для этого в админке Joomla переходим «Система — Общие настройки».
Переходим на вкладку «Сервер», там увидите опцию «Сообщения об ошибках». Выбирайте режим «Максимум».
После этого на страницах сайта будут появляться сообщения об ошибках, если таковые имеются. Это полезно, если где-то на сайте у вас появляется белый экран.
После включения показа сообщений об ошибках на белом экране вы увидите тип ошибки и её описание.
По этому описанию можно найти решение в поиске Яндекса или Гугла.
Включение показа ошибок php через configuration.php
Если нет доступа к админке, или она не работает, то показ ошибок можно включить через файл configuration.php, который находиться в корневой папке вашего сайта.
В нём есть директива
public $error_reporting = ‘default’;
Чтобы включить показ ошибок, измените значение default на maximum
Как включить показ ошибок через .htaccess
Если у вас не Joomla, а свой скрипт или по каким то причинам не получается включить сообщения об ошибках первыми двумя способами, то это можно сделать через файл .htaccess, который также находится в корневой папке вашего сайта.
Открываем .htaccess — обратите внимание точка впереди. Если у вас нет такого файла, то создайте его.
В CMS системах он обычно называется htaccess.txt и его достаточно просто переименовать в .htaccess
В самом верху добавляем строчку:
php_flag display_errors on
php_flag display_errors off
выключает показ ошибок.
Какие сообщения об ошибках php бывают?
Самые частые это:
Notice — уведомление о незначительных ошибках в коде. Обычно работоспособность сайта при этом сохраняется.
Просто в шапке выходят такие вот уведомления.
Warning — предупреждение о более серьёзных ошибках. Иногда при таком предупреждении работоспособность сайта также сохраняется, иногда белый экран.
Fatal Error — предупреждение о критических ошибках, при которых выполнение сценариев невозможно. Сопровождается белым экраном.
Отключайте показ ошибок!
После включения и наладки сайта обязательно отключайте показ ошибок. Потому что это НЕ безопасно, да и посетителям сайта их видеть незачем.
Источник
Joomla Error Reporting : Explained
Arvind Chauhan
1. Overview
Error Reporting is a useful Joomla function to troubleshoot PHP errors on your Joomla site. This function provides some clues about what and where the PHP problems are.
2. When to turn it on?
Got blank/ white screen in your Joomla site frontend? Well, that calls for turning on the error reporting feature. You may also want to disable the URL rewriting (htaccess method) using Apache mod_rewrite under the SEO settings for differential diagnosis of the issue as url rewriting with htaccess file in non-supported server (mod_rewrite not active) also renders blank pages.
3. How to proceed
In your Admin Panel, navigate through Global Configuration >> Server tab >> Error Reporting.
Joomla Error Reporting settings
There are several options for you to choose, namely:
- System Default : Joomla will inherit error reporting defaults set in the server (usually in php.ini file).
- None : Choose this option to switch off the Error Reporting so that no notification will be shown. However, when any 3rd party extension overrides Joomla error reporting with their own settings, notifications may still appear.
- Simple : Overrides server settings to give a basic report with warnings only about the fatal errors.
Error Reporting in Simple settings
Error Reporting in Maximum settings
Tip : You can enable the Error Reporting with the configuration.php file. Edit the file and add one of the following numeric values for $error_reporting , which equals to the PHP’s error constants:
- -1 = 0 : No error reporting.
- 30711 = E_ALL &
(E_NOTICE|E_WARNING) : All errors reporting. No warnings or notices.
30711 = E_ALL &
E_NOTICE : All errors and warnings reporting. No notices.
4. Recommendations
For developers error reporting gives them a headstart and they know what they have to fix and where. For regular users, it helps to provide more details to the developer instead of saying «I got blank / white page».
Error reporting should be disabled on an live site as the error reports would be visible to your users and information about your website may be revealed including the absolute path of your website.
Turn it on only when something goes wrong such as a blank page and/or you are debugging your Joomla website. Once the bugs are fixed, change the error reporting settings back to “None”. This is highly recommended for any Joomla website in term of security.
5. Live example
Let’s see how an error would be reported when your Joomla Error Reporting is ON.
1. Open your_site_root/components/com_content/content.php and remove “;” from line no. 11.
Let’s see how the error would be reported
2. Check your front-end. As your Error Reporting is set as «None», it must be just a blank page.
3. Now proceed to turn the Error Reporting to «Maximum» and you can see the exact error.
How the errors is reported with Maximum settings
Tada! That’s how the Error Reporting works.
6. Joomla extension for Error Reporting
You may find some more useful Joomla extensions for error reporting in our Joomla! Extension Directory. Easy Error Reporting would be a handy choice as you can enable the error reports for specific user groups only.
Источник
Белый экран смерти в Joomla – находим и устраняем причину
Наверное, с каждым такое случалось – что-то изменили в коде, установили расширение или просто сделали обновление, потом обновили страничку, а сайт пропал и вместо него вы видите пустой белый экран.
Главное — без паники. Первым делом необходимо найти ошибку. Предлагаем вам пять вариантов для поиска сообщения об ошибке.
Вариант #1. Измените режим сообщения об ошибках на Максимум
Попробуйте залогиниться в админку. Если вы смогли это сделать, то зайдите в Общие настройки – закладка Сервер – Сообщения об ошибках и установите значение на Максимум.
Если зайти в админку не удалось, то откройте файлы вашего Joomla сайта через FTP и найдите в корне файл configuration.php . Далее откройте его и измените значение переменной $error_reporting на maximum:
Вариант #2. Отредактируйте файл .htaccess
Откройте файлы вашего Joomla сайта через FTP. Найдите файл .htaccess , который расположен в корне вашего сайта (если такого файла нет, то переименуйте htaccess.txt) и добавьте следующую строку в этот файл (в начало или конец, без разницы):
Вариант #3. Отредактируйте файл index.php
Откройте файлы вашего Joomla сайта через FTP. Найдите файл index.php , который расположен в корне вашего сайта и добавьте этот код непосредственно после первой строки файла:
Вариант #4. Отредактируйте файл php.ini
Откройте файл конфигурации php.ini и измените значения двух параметров:
Установите отображение ошибок в On:
Установите отчет об ошибках:
Если вы не знаете, где расположен файл php.ini , то создайте файл phpinfo.php со следующим кодом:
Закачайте этот файл в директорию установки Joomla. Далее получите доступ к файлу по адресу вашадрес.ру/phpinfo.php и вы увидите список всех настроек PHP, в том числе месторасположение файла php.ini .
Вариант #5. Проверьте логи сервера
Проверьте файл ошибок сервера error.log на наличие ошибок. Если вы не уверены, как получить доступ к этому файлу, то обратитесь к вашему хостеру. Если вы работаете на локальной машине, то обычно этот файл находится в директории «logs» установки вашего сервера.
Вы нашли сообщение об ошибке. И что теперь?
Когда вы выяснили, что вызывает ошибку, то проанализируйте её. Скорее всего, вы увидите что-то похожее на это:
В этом примере ошибки идут от компонентов sh404SEF и Xmap. И даже если вы не понимаете этой ошибки, вы уже знаете, какое расширение её вызывает. Если же имя расширения не может быть найдено, то возможно вы увидите что-то похожее на это:
Это может означать, что есть проблема в файлах ядра Joomla.
Что вы можете сделать в данных случаях?
Проблемы с расширением? Отключите его.
Если это плагин, то достаточно отключить его. Если это модуль, то просто снимите его с публикации. Если доступа в админку нет, то отключение можно сделать напрямую в базе. Для этого можете воспользоваться такой программой как phpMyAdmin. Откройте вашу базу данных, выберите таблицу #__extensions и в ней найдите имя модуля или плагина, который хотите отключить. Далее выставьте поле enabled в значение 0 . С компонентом все немного сложнее, так как его невозможно просто отключить. Для отключения вам необходимо зайти по FTP в папку /components и переименовать папку расширения. Например, измените /com_sh404SEF на /com_sh404SEF_disabled . Возможно, вам придется переименовать папку расширения и в /administrator/components .
Проблемы с файлами Joomla? Закачайте их заново.
Если вы не устанавливали никаких расширений, то причиной может быть битый файл Jooma. Для устранения этой проблемы просто еще раз закачайте необходимые файлы инсталляции по FTP.
Ничего не помогает? Время обратиться за помощью!
Если вы не смогли исправить белый экран смерти, то стоит обратиться за помощью:
Источник
Поиск и вывод PHP ошибок 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 должна быть строка:
Примечание: NOTICE ошибки это возможные, но не явные ошибки. Например, опечатка, предупреждение о плохом стиле, и.т.п.
Для вывода ошибок в журнал, должна быть строка:
Для вывода ошибок на экран в файле php.ini должна быть строка:
Вывод ошибок на экран, во время старта PHP
Понятно, что замена «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
- Вывод сообщения в Joomla
- Вывод уведомления в Joomla
- Вывод предупреждения в Joomla
- Вывод ошибки в Joomla
- Поддержка Bootstrap в отображениях для пользователей в Joomla
Ошибки, предупреждения, оповещения и уведомления могут быть отображены из любого компонента, модуля, плагина или шаблона с помощью методов, описанных ниже.
// Получение доступа к объекту приложения Joomla
$application = JFactory::getApplication();
// Добавляем сообщение в очередь сообщений
$application->enqueueMessage(JText::_('SOME_ERROR_OCCURRED'), 'error');
/** В качестве альтернативы можно использовать цепочку */
JFactory::getApplication()->enqueueMessage(JText::_('SOME_ERROR_OCCURRED'), 'error');
Вторым аргументом функции enqueueMessage является тип сообщения. По умолчанию это 'message'
, 'error
‘ приводит к другому стилю сообщения. Сообщение будет отображаться вместо специального блока jdoc:include
в вашем шаблоне. Поместите следующее в ваш шаблон в том месте, где вы хотите, чтобы появлялись сообщения.
<jdoc:include type="message" />
Вывод сообщения в Joomla.
Message
JFactory::getApplication()->enqueueMessage('Message');
Вывод уведомления в Joomla.
Notice
JError::raiseNotice( 100, 'Notice' );
Вывод предупреждения в Joomla.
Warning
JError::raiseWarning( 100, 'Warning' );
Вывод ошибки в Joomla.
Error
JError::raiseError( 4711, 'A severe error occurred' );
Поддержка Bootstrap в отображениях для пользователей в Joomla.
Поскольку Joomla 3.x использует шаблоны Bootstrap, сообщения будут использовать стандартные стили bootstrap CSS для Alerts.
См.: https://getbootstrap.com/docs/5.1/components/alerts/
Общий синтаксис остается прежним:
JFactory::getApplication()->enqueueMessage('Your Message', 'type');
Где тип может быть одним из
'message'
(или не задано) — зеленый'notice'
— синий'warning'
— желтый'error'
— красный
Перевод с английского официальной документации Joomla:
https://docs.joomla.org/Display_error_messages_and_notices
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Выберите, то, чем пользуетесь чаще всего:
-
Offline
OlegM
Russian Joomla! Team
Команда форума- Регистрация:
- 12.04.2007
- Сообщения:
- 4 311
- Симпатии:
- 375
- Пол:
- Мужской
Как вручную включить режим отладки в Joomla всех версий: 1.0, 1.5, 1.6-2.5, 3.0-3.1
Файл: configuration.php
Joomla! 1.0
Переменная: $mosConfig_error_reporting
-
$mosConfig_error_reporting = ‘-1’;
Возможные значения:
- 6143 — отображать все ошибки;
- 7 — отображать простые ошибки;
- 0 — выключить (не отображать ошибки);
- -1 — по умолчанию (использовать настройки системы).
Joomla! 1.5
Переменная: $error_reporting
-
var $error_reporting = ‘-1’;
Возможные значения:
- 6143 — отображать все ошибки (по максимуму);
- 7 — отображать простые ошибки;
- 0 — выключить (не отображать ошибки);
- -1 — по умолчанию (использовать настройки системы).
Joomla! 2.5 и 3.0
Переменная: $error_reporting
-
public $error_reporting = ‘default’;
Возможные значения:
- development — отображать все ошибки, включая уведомления (режим отладки для разработчиков);
- maximum — отображать все ошибки (по максимуму);
- simple — отображать простые ошибки;
- none — выключить (не отображать ошибки);
- default — по умолчанию (использовать настройки системы).
Включение консоли отладки (для Joomla 2.5 — 3.0+)
-
public $debug = ‘1’; // 0 — выключено, 1 — включена
Включение отладки языковых файлов
-
public $debug_lang = ‘1’; // 0- выключено, 1 — включено
Данные отладки, отображаемые в консоли, можно настроить в системном плагине отладки System — Debug (Система — Отладка).
В Joomla 3.0 появилась возможность журналирования устаревших функций PHP.
В Joomla 3.1 появилась возможность отображения журнала в консоли отладки.Последнее редактирование: 25.03.2013
-
Offline
OlegM
Russian Joomla! Team
Команда форума- Регистрация:
- 12.04.2007
- Сообщения:
- 4 311
- Симпатии:
- 375
- Пол:
- Мужской
-
Offline
Clear
Недавно здесь
- Регистрация:
- 16.07.2011
- Сообщения:
- 33
- Симпатии:
- 0
- Пол:
- Мужской
Вот какой вопрос, а можно ли вести отладочный журнал и не высвечивать это на сайте, т.е. чтобы все ошибки записывались в журнале а пользователи их не видели?
-
Offline
OlegM
Russian Joomla! Team
Команда форума- Регистрация:
- 12.04.2007
- Сообщения:
- 4 311
- Симпатии:
- 375
- Пол:
- Мужской
По идее ошибки и так записываются в папку logs, если включен плагин журналирования.
А отображаемую отладочную информацию в Joomla 2.5+ можно настроить в плагине Система — Отладка -
Offline
Clear
Недавно здесь
- Регистрация:
- 16.07.2011
- Сообщения:
- 33
- Симпатии:
- 0
- Пол:
- Мужской
Спасибо, но плагин включен а вот в папке logs только index.html, в котором <!DOCTYPE html><title></title>
А я точно знаю что сайт отключался сегодня 3 раза.
В плагине система-отладка такие настройки: 1,2,3. Подскажите, пожалуйста, что нужно поменять и в каком файле будут сохраняться ошибки?
Поделиться этой страницей
1. Overview
Error Reporting is a useful Joomla function to troubleshoot PHP errors on your Joomla site. This function provides some clues about what and where the PHP problems are.
2. When to turn it on?
Got blank/ white screen in your Joomla site frontend? Well, that calls for turning on the error reporting feature. You may also want to disable the URL rewriting (htaccess method) using Apache mod_rewrite under the SEO settings for differential diagnosis of the issue as url rewriting with htaccess file in non-supported server (mod_rewrite not active) also renders blank pages.
3. How to proceed
In your Admin Panel, navigate through Global Configuration >> Server tab >> Error Reporting.
Joomla Error Reporting settings
There are several options for you to choose, namely:
- System Default : Joomla will inherit error reporting defaults set in the server (usually in php.ini file).
- None : Choose this option to switch off the Error Reporting so that no notification will be shown. However, when any 3rd party extension overrides Joomla error reporting with their own settings, notifications may still appear.
- Simple : Overrides server settings to give a basic report with warnings only about the fatal errors.
Error Reporting in Simple settings
- Maximum (Recommended) : Overrides server settings to gives full report with all the errors, warnings, notices, deprecated functions call, strict standards on the website.
Error Reporting in Maximum settings
Tip : You can enable the Error Reporting with the configuration.php file. Edit the file and add one of the following numeric values for $error_reporting
, which equals to the PHP’s error constants:
-
-1 = 0
: No error reporting. -
30711 = E_ALL & ~(E_NOTICE|E_WARNING)
: All errors reporting. No warnings or notices. -
30711 = E_ALL & ~E_NOTICE
: All errors and warnings reporting. No notices. -
30719 = E_ALL
: All errors, warnings and notices reporting. -
32767 = E_ALL | E_STRICT
: All errors, warnings, notices and strict standards reporting.
4. Recommendations
For developers error reporting gives them a headstart and they know what they have to fix and where. For regular users, it helps to provide more details to the developer instead of saying «I got blank / white page».
Error reporting should be disabled on an live site as the error reports would be visible to your users and information about your website may be revealed including the absolute path of your website.
Turn it on only when something goes wrong such as a blank page and/or you are debugging your Joomla website. Once the bugs are fixed, change the error reporting settings back to “None”. This is highly recommended for any Joomla website in term of security.
5. Live example
Let’s see how an error would be reported when your Joomla Error Reporting is ON.
1. Open your_site_root/components/com_content/content.php and remove “;” from line no. 11.
Let’s see how the error would be reported
2. Check your front-end. As your Error Reporting is set as «None», it must be just a blank page.
3. Now proceed to turn the Error Reporting to «Maximum» and you can see the exact error.
How the errors is reported with Maximum settings
Tada! That’s how the Error Reporting works.
6. Joomla extension for Error Reporting
You may find some more useful Joomla extensions for error reporting in our Joomla! Extension Directory. Easy Error Reporting would be a handy choice as you can enable the error reports for specific user groups only.
7. Further reading
- Sever Settings Group — Joomla! Docs
- error_reporting — PHP.net
- How to turn your error reporting to Maximum — OSTraining
View Posts By Tags
Found this article interesting? Subscribe to our newsletter for more.
Or share this article with your friends
BLOG COMMENTS POWERED BY DISQUS
0 Пользователей и 1 Гость просматривают эту тему.
- 25 Ответов
- 1645 Просмотров
Недавний топик побудил меня подумать о стандартном выводе ошибок через файл шаблона error.php. В этой теме приведена ссылка на мануал, в котором, на мой взгляд, описан вредный хак, а не способ реализации: суть заключается в том, что при обращении к файлу error.php вызывается редирект на другую страницу с материалом и отдаётся заголовок с кодом 404. На мой взгляд, этот способ не только корявый в плане реализации, но его так же опасно использовать с точки зрения SEO. К тому же, он не позволяет вывести описание ошибки (потом попробуй угадай).
Признаться, мне было всегда проще сделать HTML версию страницы, чем динамически отображать шаблон с подключенными внешними ресурсами и модулями. После нескольких часов кодинга я разработал свой динамический метод вывода ошибок, который выводит все скрипты, стили, модули — рендерит шаблон через index.php. Хотелось бы поделиться им
« Последнее редактирование: 14.02.2016, 07:44:47 от Филипп Сорокин »
Записан
Мануал корявый
Роутер еще корявее — вот объясни мне, когда неверный URL ведет на
1) другую страничку (дубль)
2) перехватывается системой и доступен в менеджере перенаправлений
3) не перехватывается плагином перенаправлений но ведет на 404 от движка
4) вообще не видится и отдается ответ напрямую от nginxapache
Внутри файла error.php можно получить и код ошибки (для дальнейшего формирования нужного хедера) и ее описание:
$error_code = $this->error->getcode();
$error_description = htmlspecialchars($this->error->getMessage(), ENT_QUOTES, 'UTF-8');
а уж получив эти данные, можно что угодно с ними делать и передавать куда и как угодно…
в случае возникновения
4) вообще не видится и отдается ответ напрямую от nginxapache
вопрос уже не к J ))
в случае возникновения вопрос уже не к J ))
Почему?
Я же использую дефолтный .htaccess!
вообще не видится и отдается ответ напрямую от nginxapache
Тоже с этим сталкивался: так и не понял причину.
Тоже с этим не раз сталкивался: так и не понял причину.
Во-во.
Даешь глубокое исследование!
Вот и сама реализация:
(Удалено по причине потери актуальности)
« Последнее редактирование: 13.02.2016, 23:40:51 от Филипп Сорокин »
Записан
Кстати, существуют ли способы отрендерить шаблон методами движка?
Кстати, существуют ли способы отрендерить шаблон методами движка?
Придётся самому отвечать на свой вопрос
Удалось здорово сократить и улучшить код: теперь в шаблоне нет никаких ограничений, т.к. он выполняется в контексте JDocumentHTML, а не в контексте JDocumentError. На дефолтном Protostar работает отлично, все стандартные методы и свойства доступны из псевдопеременной $this.
« Последнее редактирование: 14.02.2016, 07:53:55 от Филипп Сорокин »
Записан
Окончательно закрыл для себя вопрос создания страницы ошибок — теперь эта страница ничем не отличается от обычных страниц, а её контент обрабатывается системными плагинами. Содержимое страницы может быть изменено как угодно, при этом оно не будет зависеть от разметки и оформления шаблона. И что самое главное — для всей этой красоты не нужно устанавливать никаких сторонних расширений — нужно всего лишь создать один файл и изменить другой. Кому интересно — выложил на своём сайте полную реализацию.
А зачем обрабатывать 404-ю плагинами?
честно говоря вообще не понимаю, зачем это разве что из спортивного интереса… что не так было с базовым error.php?
Записан
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
А зачем обрабатывать 404-ю плагинами?
Потому что плагинами обрабатываются все страницы. Чем 404 хуже? Системный плагин SEF, для примера, надо запустить, чтобы скорректировать ссылки? Надо. В предыдущей версии парсил регулярками — не понравилось. Решил плагином =)
честно говоря вообще не понимаю, зачем это Azn разве что из спортивного интереса… что не так было с базовым error.php?
Что конкретно вы не понимаете? Если вы будете использовать базовый error.php, то при любом изменении шаблона нужно отдельно менять дизайн, раскладку в error.php, потому что базовый error.php к шаблону не относится.
Короче, народ не понял ничего Мда…
Если вы будете использовать базовый error.php, то при любом изменении шаблона нужно отдельно менять дизайн, раскладку в error.php, потому что базовый error.php к шаблону не относится.
Зачем дизайн менять? Вот часто используемый известный вариант error.php с подгрузкой статьи «404»:
Что в этом варианте вас не устроило?
Записан
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
Что конкретно вы не понимаете?
та не, я ниче я вообще за любой кипиш кроме голодовки
просто тут так сказать глубину мысли не познал
например
Если вы будете использовать базовый error.php, то при любом изменении шаблона нужно отдельно менять дизайн
а в вашем решении разве не надо менять дизайн? разница только в том, что это внешний файл и его копировать надо? так скопировать просто error.php из старого шаблона, и все. разве нет?
потом
базовый error.php к шаблону не относится
это как? как это не относится? может мы о разных error.php? я о том, который в корне шаблона.
дальше, обработка плагинами. ну тут вопрос спорный… я наверное все таки склоняюсь в сторону, что 404 не нужно обрабатывать плагинами. потому что 404 рисуется раз и навсегда, и я бы не хотел чтобы при установке какого либо плагина, который нужен во фронте, 404 поломалась по недосмотру из-за него.
поэтому не то, чтобы
Короче, народ не понял ничего
Мда…
задумку поняли. не поняли — зачем?
Записан
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Зачем дизайн менять? Вот часто используемый известный вариант error.php с подгрузкой статьи «404»:
Что в этом варианте вас не устроило?
fsv, ну я уже написал в начале. Во-первых, не известно, как поисковики к этому отнесутся: пользователю отдаётся 404 ошибка, а его самого перебрасывает на другую страницу. Возможна пессимизация. Во-вторых, при перенаправлении теряется контекст JDocumentError — мы уже не сможем работать с объектом ошибки, например, для того, чтобы вывести описание. Ну и последнее: это не всегда работает корректно, и я считаю, что это хак.
а в вашем решении разве не надо менять дизайн?
Нет. Дизайн и раскладка берётся из шаблона со всеми стилями, скриптами, модулями. По-сути, мой вариант — это обычная страница, только позиция компонента (который отсутствует при ошибке), замещается телом ошибки.
дальше, обработка плагинами. ну тут вопрос спорный… я наверное все таки склоняюсь в сторону, что 404 не нужно обрабатывать плагинами. потому что 404 рисуется раз и навсегда, и я бы не хотел чтобы при установке какого либо плагина, который нужен во фронте, 404 поломалась по недосмотру из-за него.
Вы отдаёте заголовок 404 и после этого можете менять страницу ошибки как захочется — боту главное получить заголовок.
fsv, ну я уже написал в начале. Во-первых, не известно, как поисковики к этому отнесутся: пользователю отдаётся 404 ошибка, а его самого перебрасывает на другую страницу.
кого куда перебрасывает?
Записан
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
пока почитал, подумал: а не хотите в теме всё не расказывать и этим самым обламать и туда: в комм раздел? и там писать
может не прав, что подумал.имхо.
Записан
Миграция, установка, обновление версий Joomla | Создание сайтов «под ключ» | Эксклюзивные заглушки «offline» | Работа с «напильником» над шаблонами и расширениями
Нет. Дизайн и раскладка берётся из шаблона со всеми стилями, скриптами, модулями. По-сути, мой вариант — это обычная страница, только позиция компонента (который отсутствует при ошибке), замещается телом ошибки.
понял наконец-то уж извините, вообще не думал о таком варианте. считаю его неверным.
пользователю отдаётся 404 ошибка, а его самого перебрасывает на другую страницу.
никуда никого не перебрасывает. все 1:1 как и в вашем варианте, за исключением того, что ваш вариант экономнее по ресурсам сервера.
Записан
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
кого куда перебрасывает?
А, простите. Не увидел: там file_get_contents. Похожий способ просто есть, но только с перенаправлением.
никуда никого не перебрасывает. все 1:1 как и в вашем варианте, за исключением того, что ваш вариант экономнее по ресурсам сервера.
Ну я бы не сказал, что один в один. Мы теряем контекст JDocumentError, мы не можем вывести описание ошибки и использовать методы этого объекта. Гибкость также теряется: если сайт мультиязычный, то для каждого типа ошибки мы должны наплодить по 2-3 материала на разных языках. Наконец имеется лишний запрос (это, конечно, не очень существенно, но, я считаю, что криво).
А если материал вдруг удалить, то вообще будет полное разочарование
Мы теряем контекст JDocumentError, мы не можем вывести описание ошибки и использовать методы этого объекта.
if ($this->error->getCode() == '404')
{
echo $this->error->getMessage(). '<br>';
echo '<pre>'.print_r($this, true).'</pre>'; // JDocumentError Object
}
А если материал вдруг удалить, то вообще будет полное разочарование
если у бабушки…, то это уже дедушка
Записан
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
теряется контекст JDocumentError — это имеется в виду когда делаем file_get_contents. это же уже не 404.
в целом так и есть, предложенный вариант более гибок чем file_get_contents. кто любит так делать 404 — можно советовать
Записан
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
fsv
Ну и как вы сделаете это в материале? Представьте, что у вас SQL ошибка, нужно вывести описание, а вы цепляете другой материал и выводите страницу данного материала. Где вы будете выводить там описание и как?
если у бабушки…, то это уже дедушка
Ну… это отсылки к рыжему и конопатому. А вот при недоступности страницы реально может случиться что-то вроде бесконечного перенаправления, только в 100 раз хуже. Как откроет бот удалённую страницу — и конец настанет вашему серверу
теряется контекст JDocumentError — это имеется в виду когда делаем file_get_contents. это же уже не 404.
да, в file_get_contents не будет ошибки. При ответе не об этом думал, потому что…
Ну и как вы сделаете это в материале? Представьте, что у вас SQL ошибка, нужно вывести описание, а вы цепляете другой материал и выводите страницу данного материала. Где вы будете выводить там описание и как?
… я не буду выводить все подряд ошибки. Это вредно для здоровья. Для юзера хватит стандартных фраз в материале, никто письма вам писать не будет. Ошибка – в логах.
И да, имея текст ошибки в переменной, в чем проблема его использовать на подгруженной в другую переменную странице? Извращение какое-то, но это так, теоретически…
Да я не против. Подобные раскопки на самом деле очень полезны. Всегда что-то нужное вынесешь. Только по этой теме – я так пока повторять не готов.
Записан
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
Описание определенных ошибок можно сделать доступным для супер-администраторов. Все в одном файле, не нужно создавать никакие материалы. Вот вы говорите, что это извращение — выводить красиво отформатированное описание ошибки в позиции компонента, а я считаю извращением при отладке лезть в логи. Обновил страницу — лезь опять в логи. Зачем? Логи проверять, конечно, полезно, но не в этом случае. Ещё я считаю извращением подгружать какие-то переменные в других пространствах имён. А при запросе к другому материалу подгружать в этом материале переменные — это настоящее извращение.
« Последнее редактирование: 14.02.2016, 19:49:21 от Филипп Сорокин »
Записан
Вступление
Белый экран Joomla, называют «экраном смерти». С одной стороны это правильно, сайт и/или админка недоступны, сайт не работает и срочно нужно это безобразие исправлять. С другой стороны, белый экран, необходим, как оборонительный рубеж от взлома. Поэтому, вы не только должны знать, как исправить белый экран, но и как правильно его настроить. Да, да, именно, правильно настроить белый экран Джумла. С этого и начнем.
Настройка белого экрана
В Joomla есть системная функция вывода (показа) ошибок на сайте. Настройка вывода ошибок находится на вкладке Общие настройки→Сервер→Показ ошибок. По определению нужно поставить показ ошибок в положение «Нет», то есть ошибки показывать не нужно. Поясню почему. Если поставить постоянный показ ошибок, при взломе сайта злоумышленник будет видеть информацию системы и легко преодолеет вашу защиту. Кроме этого, простым посетителям не нужно видеть, даже самые безобидные ошибки на сайте.
Отсюда вывод 1: В рабочем состоянии система Joomla не должна показывать ошибки.
Видим белый экран Joomla
Предположим, пришел день «Ч» и при попытке войти в административную панель и/или при попытке открыть свой сайт вы видите белый экран. Такое простое, белое полотно, как в кинотеатре. В такой ситуации паниковать не нужно. Для начала успокойтесь, если конечно волновались, и вспомните, что вы делали с сайтом до белого экрана.
Скорее всего, вы могли:
- Установить и включить новое расширение;
- Обновить версию Joomlaне проверив ее совместимость с установленными расширениями;
- Обновили, какое либо расширение;
- Или, кто-то, включая вас, капался в коде сайта.
Как видите причин много и прежде всего, нужно найти причину белого экрана. Включим показ ошибок Joomla разными способами.
Как включить показ ошибок из административной панели Joomla
Если вы можете войти в административную панель сайта, включить ошибки не сложно. Для включения показа ошибок открываете вкладку Общие настройки→Сервер и ищите строку «Показ ошибок».
Joomla предлагает несколько вариантов отражения ошибок, от показа по умолчанию, до показа ошибок для разработчиков:
- Нет;
- Показ по умолчанию системы;
- Простой;
- Максимум;
- Для разработчиков.
Чтобы понять, почему не работает ваш сайт, устанавливайте показ ошибок по глубине отражения, от показа по умолчанию до максимума.
Что должно быть, когда включен показ ошибок
После включения, показа ошибок, откройте свой сайт. Теперь вместо белого экрана, система должна вывести информацию о вашей ошибке. В этой информации практически все, что поможет вам ошибку исправить или хотя бы поискать способы ее исправления в Интернет.
Отсюда вывод 2: Показ причин белого экрана с доступом в админку сайта включается на вкладке: Система→Общие настройки →Сервер.
Но это мы выявили ошибки при рабочем доступе в административную панель сайта. А что делать, если белый экран висит вместо админки при попытке в неё войти.
Как включить показ ошибок, если нет доступа в административную панель Joomla
Белый экран Joomla может закрыть вам доступ в административную панель. В этом случае, для включения показа ошибок, идем в каталог сайта по FTP соединению. Здесь нас интересует, конечно же, файл configuration.php– основной файл со всеми настройками системы, которые вы задавали в интерфейсе административной панели.
Важно, для редактирования файла configuration.php копируем его на компьютер, делаем с него копию и открываем копию для редактирования в текстовом редакторе. Я пользую Notepad++, а FTP клиент — FileZilla и еще не разу не пожалел об этом. Редактируем копию configuration.php, оставляя первоисточник для резерва.
В configuration.php ищем строку: error_reporting и ставим значение maximum:
$error_reporting = ‘maximum’; // оно соответствует значению «Максимум» ; в настройках показа ошибок из административной панели.
Сохраняем отредактированный файл и переносим в каталог сайта в режиме перезаписи. Открываем сайт и смотрим сообщение об ошибках.
Отсюда вывод 3: Включить показ ошибок белого экрана можно редактированием файла configuration.php.
Ищем причины белого экрана Joomla в логах сайта
На этом сайте я еще не писал, как работать с логами сайта Joomla, поэтому кратко.
Вам может повести и у вас правильно настроенный хостинг, который все ошибки, происходящие с сайтом, пишет в файл error.log. В зависимости от настроек, доступ к нему может быть различный: из административной панели хостинга, из каталога по FTP или вы можете запросить его в supportвашего хостера. Важно его найти или получить.
Открываете его в текстовом редакторе и по дате и времени ищите свою системную ошибку. Строка с ошибкой довольно длинная и может показаться непонятной. В принципе понимать нужно две вещи:
- Первая: в начале ошибки должно быть: PHP Warnings или PHP Notice. Первая ошибка серьезнее второй.
- Вторая: в строке ошибки ищите названия расширения Joomla, которое и вызвало эту ошибку.
Теперь сопоставьте эти данные с вашими воспоминаниями по обновлению на сайте или установке новых расширений и поймете, кто виновник белого экрана.
Что делать, если понятна причина белого экрана
Если есть доступ в административную панель, открываете Расширения→Менеджер расширений→Управление. Находите расширение-виновник и как минимум отключаете его. Не забывайте чистить кэш сайта и кэш браузера (кнопка CTRL+F5). Если не помогло — деинсталлируйте расширение и опять чистить кэш сайта и кэш браузера.
Ничего не помогает – белый экран Joomla не пропадает
Если ничего из выше перечисленного не помогло и белый экран не пропадает, делаем следующие шаги.
- не сдавайтесь, я находил решение для самых сложных ошибок. Чаще на англоязычных ресурсах.
- можно плюнуть на поиски ошибок, снести сайт и БД и восстановить их из резервной копии сайта, которую вы должны были сделать перед любыми обновлениями на сайте.
- ищите помощника из профессионалов.
©Joomla3-x.ru