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 — предупреждение о критических ошибках, при которых выполнение сценариев невозможно. Сопровождается белым экраном.
Отключайте показ ошибок!
После включения и наладки сайта обязательно отключайте показ ошибок. Потому что это НЕ безопасно, да и посетителям сайта их видеть незачем.
Желаю вам всего хорошего!
Содержание
- Как включить показ ошибок в 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 3.1 Error Reporting
- What is Error Reporting?
- What Options Are Available for Error Reporting?
- Our Testing of the Error Reporting Setting
- To Change the Joomla 3.0 Error Reporting Setting
- 2 Comments
- #0 syntax error, unexpected ‘text’ (T_STRING)
- Was this article helpful? Let us know! Cancel reply
Как включить показ ошибок в 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 или Удаленный сервер файл не найден при сохранении в джумле — включаем отображение ошибок вручную — режим отладки
6143 — отображать все ошибки;
7 — отображать простые ошибки;
0 — выключить (не отображать ошибки);
-1 — по умолчанию (использовать настройки системы).
var $error_reporting = ‘-1’;
6143 — отображать все ошибки (по максимуму);
7 — отображать простые ошибки;
0 — выключить (не отображать ошибки);
-1 — по умолчанию (использовать настройки системы).
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 появилась возможность отображения журнала в консоли отладки.
Итак разберем конкретный пример — совсем не давно я столкнулся с таким случаем — сайт работал, более года я с ним ни чего не делал, даже не обновлял даже контент и тут захожу хочу опубликовать новый материал и получаю белый экран браузера. В общем по порядку:
1) Первое что нужно сделать — это включить вывод ошибок — что бы понять что конкретно не нравиться движку сайта Joomla.
В соответствии вышесказанному — в данном случае у нас движок 2,5 — следовательно заходим на ФТП и открываем корневой файл configuration.php для редактирования.
Для простоты просто комментируем старое значение — затем в конце после выявления и исправления ошибки мы просто его вновь раскомментируем удалив вторую строчку:
//public $error_reporting = ‘default’;
public $error_reporting = ‘development’;
2) После чего пробуем сохраниться — тут же выходят наши ошибки:
Strict Standards: Only variables should be passed by reference in /home/www/super-surep-site.ru/libraries/joomla/filter/input.php on line 558
Strict Standards: Only variables should be passed by reference in /home/www/super-surep-site.ru/libraries/joomla/filter/input.php on line 558
Fatal error: Call to undefined function apc_cache_info() in /home/www/super-surep-site.ru/libraries/joomla/cache/storage/apc.php
3) Все понятно. В джумле 2,5 на многих серверах наблюдается дефолтное значение параметра кэширования равного «apc»:
public $cache_handler = ‘apc’;
При этом в админке этого не видно там высвечивается значение — или кэширование отключено или стоит значение — файлы «file».
Но при этом почти на половине серверов джумла 2,5 с «public $cache_handler = ‘apc’;» не работает.
Меняем на всегда рабочее и наиболее универсальное- распространение значение:
public $cache_handler = ‘file’;
Все сайт работает.
В целом на счет невозможности сохраниться чаще всего необходимо:
1) Проверяем .htaccess на предмет включения, каких либо дополнительных директив — проще всего взять из исходного дистрибутива и сравнивать построчно.
2) проверить файл шаблона сайта на предмет включения в него посторонних кодов.
3) Если ни чего не помогло просто сеть и подумать, а что я делал с сайтом в последние этапы перед появлением данной ошибки? смена хостинга? установка модуля? На самом деле в 70% случаях решение возникшей проблемы лежит в откате своих последних действий.
4) просто скопировать и вставить появившиеся ошибки в гугл или яндекс. Так как джумла сверх распространенный движок мне еще не встречались ошибки которые еще не рассматривались до меня на просторах интернет форумов — да иногда приходиться использовать англоязычные форумы — но гугл переводчик уже в настоящий момент переводит достаточно понятно — по крайне мере смысл всегда можно понять даже без знаний английского.
(Слабо распространенные модули в счет не берем – там можно нарваться на все что угодно – но тут совет прост, пользуйтесь наиболее распространенными проверенными и хорошо поддерживаемыми модулями Joomla – ведь на самом деле требования и желания у большинства одни и те же.)
Ps/ Как и с любой болезнью — главное в ее лечении — это правильно и вовремя ее диагностировать.
Если вы не сохраняете материала пытаетесь установить новый модуль то это несколько другое и здесь в первую очередь необходимо проверить права записи на папки и файлы приведенные
слева — должны иметь значения 755
(на картинке справа — принскрин закрытая для установок структура сайта — при этом в данном варианте — гораздо сложнее взломать сайт — т.е. с одной стороны не удобно каждый раз при установки чего либо необходимо менять права — с другой стороны — забыл поменять на минимальные — как правило получишь взлом движка):
administrator/backups/
administrator/cache/
administrator/components/
administrator/modules/
administrator/templates/
cache/
components/
images/
images/banners/
images/stories/
language/
language/en-GB/
language/ru-RU/
media/
modules/
plugins/
plugins/content/
plugins/search/
plugins/system/
templates/
Не забываем после установки новых модулей вернуть права на папки и файлы на минимально рабочие для предотвращения облегчения взлома сайта.
Включаем/выключаем отображение ошибок PHP
Иногда нужно отобразить ошибки в скриптах, а хостер блокирует вывод ошибок, что не дает четкой картины раоты скрипта во время отладки… Делаем себе удобно.
error_reporting = E_ALL (ну и какие там еще не нужны ошибки указываем)
Необходим перезапуск Apache:
sudo apachectl -k graceful
php_flag display_errors On
#показываем все ошибки кроме предупреждений (Notice)
php_value error_reporting «E_ALL &
после кода, который проверяем на ошибки — позвращаем все обратно
Смысл такой: сначала обрабатывается значение в php.ini, затем в .htaccess, затем в скрипте PHP. То есть если на сервере вывод ошибок выключен, в .htaccess тоже, то мы можем вывести ошибки в скрипте, чтобы посмотреть насколько все плохо в конкретном месте кода .
Городской округ Геленджик
Пн-Вс, с 9.00 до 20:00
Источник
Joomla 3.1 Error Reporting
1 Minute, 52 Seconds to Read
Joomla includes the ability to use error reporting to help determine if there are problems occurring with your site. In this guide, we will explain what error reporting is in Joomla, go over the available options, test the settings, then show you how to change them.
What is Error Reporting?
One of Joomla 3.0’s Server Settings is Error Reporting. Joomla gives the following description for this setting.
Error Reporting
Select the appropriate level of reporting from the drop down list. See the Help Screen for full details.
If you click the help button on the page, it unfortunately does not give any information yet at this time.
What Options Are Available for Error Reporting?
The following options are available for Error Reporting:
Our Testing of the Error Reporting Setting
To test the different options that are available for Error Reporting, we created a simple syntax error in the mod_login module by removing a ; from the PHP code. We then went through the various Error Reporting settings to see what type of error would be reported. Here are our findings:
System Default | Parse error: syntax error, unexpected T_REQUIRE in /home/bradm/public_html/github2/modules/mod_login/mod_login.php on line 21 |
---|---|
None | |
Simple | Parse error: syntax error, unexpected T_REQUIRE in /home/bradm/public_html/github2/modules/mod_login/mod_login.php on line 21 |
Maximum | Parse error: syntax error, unexpected T_REQUIRE in /home/bradm/public_html/github2/modules/mod_login/mod_login.php on line 21 |
Development | Parse error: syntax error, unexpected T_REQUIRE in /home/bradm/public_html/github2/modules/mod_login/mod_login.php on line 21 |
As you can see in the table above, all settings showed the same error message, except the none setting. As the none setting implies, no error messages are shown on the screen.
To Change the Joomla 3.0 Error Reporting Setting
- Log into your Joomla 3.0 Dashboard
- Click Global Configuration in the left menu
- In the tabbed menu, click the Server tab
- Find the Error Reporting setting under the Server Settings heading. Change the value as needed, and then click the Save button in the top left of the page.
I have activated the Error Reporting to maximum but i get no Lin enumber wher to find the error.
#0 syntax error, unexpected ‘text’ (T_STRING)
is the only thing i got since the newest update an usibng php 7.0
I can’t find a solution. Maybe you cna help me.
I suggest checking to see if the error names a file and line number. If so, check the line of code for double quotes. Sometimes these can cause parse error depending on the string. Sometimes it helps to switch to single quotes if that is the case.
Was this article helpful? Let us know! Cancel reply
- Joomla 3
- Install
- How to install Joomla 3
- Install Guide
- Install Joomla on Temp URL
- Manually Install 3.5
- Joomla 3.5.1 Released
- Settings
- Changing Email Settings
- Setting Index and Follow Settings
- Menu Location Settings
- Target Window Settings
- Change Database Settings
- Administration
- How to Login to Joomla!
- Content
- How to Write a New Article
- Forgot Admin Username
- Create a New Article
- Enable Two-Factor Authentication
- Change Article Category
- Create a New Category
- Template
- Install Joomla Template
- Edit Joomla Template
- Thoughts on Converting Templates
- How to Install Templates
- Basic Template
- Modules
- Create Menu and Menu Module
- Create Horizontal Menu
- Hide Module Title
- Move Module Position
- Working with Most Read Posts
Need help? Ask a question, share a helpful tip, or help others in our community forum.
Источник
-
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
Включить режим отладки
Белый лист — страницы Joomla или Удаленный сервер файл не найден при сохранении в джумле — включаем отображение ошибок вручную — режим отладки
Файл: configuration.php
Joomla! 1.0
Переменная: $mosConfig_error_reporting
PHP код:
$mosConfig_error_reporting = ‘-1’;
Возможные значения:
6143 — отображать все ошибки;
7 — отображать простые ошибки;
0 — выключить (не отображать ошибки);
-1 — по умолчанию (использовать настройки системы).
Joomla! 1.5
Переменная: $error_reporting
PHP код:
var $error_reporting = ‘-1’;
Возможные значения:
6143 — отображать все ошибки (по максимуму);
7 — отображать простые ошибки;
0 — выключить (не отображать ошибки);
-1 — по умолчанию (использовать настройки системы).
Joomla! 2.5 и 3.0
Переменная: $error_reporting
PHP код:
public $error_reporting = ‘default’;
Возможные значения:
development — отображать все ошибки, включая уведомления (режим отладки для разработчиков);
maximum — отображать все ошибки (по максимуму);
simple — отображать простые ошибки;
none — выключить (не отображать ошибки);
default — по умолчанию (использовать настройки системы).
Включение консоли отладки (для Joomla 2.5 — 3.0+)
PHP код:
public $debug = ‘1’; // 0 — выключено, 1 — включена
Включение отладки языковых файлов
PHP код:
public $debug_lang = ‘1’; // 0- выключено, 1 — включено
Данные отладки, отображаемые в консоли, можно настроить в системном плагине отладки System — Debug (Система — Отладка).
В Joomla 3.0 появилась возможность журналирования устаревших функций PHP.
В Joomla 3.1 появилась возможность отображения журнала в консоли отладки.
Итак разберем конкретный пример — совсем не давно я столкнулся с таким случаем — сайт работал, более года я с ним ни чего не делал, даже не обновлял даже контент и тут захожу хочу опубликовать новый материал и получаю белый экран браузера. В общем по порядку:
1) Первое что нужно сделать — это включить вывод ошибок — что бы понять что конкретно не нравиться движку сайта Joomla.
В соответствии вышесказанному — в данном случае у нас движок 2,5 — следовательно заходим на ФТП и открываем корневой файл configuration.php для редактирования.
Для простоты просто комментируем старое значение — затем в конце после выявления и исправления ошибки мы просто его вновь раскомментируем удалив вторую строчку:
//public $error_reporting = ‘default’;
public $error_reporting = ‘development’;
2) После чего пробуем сохраниться — тут же выходят наши ошибки:
Strict Standards: Only variables should be passed by reference in /home/www/super-surep-site.ru/libraries/joomla/filter/input.php on line 558
Strict Standards: Only variables should be passed by reference in /home/www/super-surep-site.ru/libraries/joomla/filter/input.php on line 558
Fatal error: Call to undefined function apc_cache_info() in /home/www/super-surep-site.ru/libraries/joomla/cache/storage/apc.php
3) Все понятно. В джумле 2,5 на многих серверах наблюдается дефолтное значение параметра кэширования равного «apc»:
public $cache_handler = ‘apc’;
При этом в админке этого не видно там высвечивается значение — или кэширование отключено или стоит значение — файлы «file».
Но при этом почти на половине серверов джумла 2,5 с «public $cache_handler = ‘apc’;» не работает.
Меняем на всегда рабочее и наиболее универсальное- распространение значение:
public $cache_handler = ‘file’;
Все сайт работает.
В целом на счет невозможности сохраниться чаще всего необходимо:
1) Проверяем .htaccess на предмет включения, каких либо дополнительных директив — проще всего взять из исходного дистрибутива и сравнивать построчно.
2) проверить файл шаблона сайта на предмет включения в него посторонних кодов.
3) Если ни чего не помогло просто сеть и подумать, а что я делал с сайтом в последние этапы перед появлением данной ошибки? смена хостинга? установка модуля? На самом деле в 70% случаях решение возникшей проблемы лежит в откате своих последних действий.
4) просто скопировать и вставить появившиеся ошибки в гугл или яндекс. Так как джумла сверх распространенный движок мне еще не встречались ошибки которые еще не рассматривались до меня на просторах интернет форумов — да иногда приходиться использовать англоязычные форумы — но гугл переводчик уже в настоящий момент переводит достаточно понятно — по крайне мере смысл всегда можно понять даже без знаний английского.
(Слабо распространенные модули в счет не берем – там можно нарваться на все что угодно – но тут совет прост, пользуйтесь наиболее распространенными проверенными и хорошо поддерживаемыми модулями Joomla – ведь на самом деле требования и желания у большинства одни и те же.)
Ps/ Как и с любой болезнью — главное в ее лечении — это правильно и вовремя ее диагностировать!!!
Если вы не сохраняете материала пытаетесь установить новый модуль то это несколько другое и здесь в первую очередь необходимо проверить права записи на папки и файлы приведенные
слева — должны иметь значения 755
(на картинке справа — принскрин закрытая для установок структура сайта — при этом в данном варианте — гораздо сложнее взломать сайт — т.е. с одной стороны не удобно каждый раз при установки чего либо необходимо менять права — с другой стороны — забыл поменять на минимальные — как правило получишь взлом движка):
administrator/backups/
administrator/cache/
administrator/components/
administrator/modules/
administrator/templates/
cache/
components/
images/
images/banners/
images/stories/
language/
language/en-GB/
language/ru-RU/
media/
modules/
plugins/
plugins/content/
plugins/search/
plugins/system/
templates/
Не забываем после установки новых модулей вернуть права на папки и файлы на минимально рабочие для предотвращения облегчения взлома сайта.
Включаем/выключаем отображение ошибок PHP
Иногда нужно отобразить ошибки в скриптах, а хостер блокирует вывод ошибок, что не дает четкой картины раоты скрипта во время отладки… Делаем себе удобно.
В php.ini:
1 2 3 |
error_reporting = E_ALL (ну и какие там еще не нужны ошибки указываем) display_errors On<span style=»font-family: ‘Courier New’;»><strong> </strong></span> |
Необходим перезапуск Apache:
sudo apachectl -k graceful
ИЛИ
В .htaccess:
1 2 3 |
php_flag display_errors On #показываем все ошибки кроме предупреждений (Notice) php_value error_reporting «E_ALL & ~E_NOTICE» |
ИЛИ
В скрипте PHP:
1 2 |
ini_set(‘display_errors’,’On’); error_reporting(‘E_ALL’); |
после кода, который проверяем на ошибки — позвращаем все обратно
5 |
ini_set(‘display_errors’,’Off’); |
Смысл такой: сначала обрабатывается значение в php.ini, затем в .htaccess, затем в скрипте PHP. То есть если на сервере вывод ошибок выключен, в .htaccess тоже, то мы можем вывести ошибки в скрипте, чтобы посмотреть насколько все плохо в конкретном месте кода .