Drupal 7 отключить вывод ошибок

  1. Главная
  2. Форумы
  3. Техподдержка Drupal
  4. Решение проблем

Ошибки и предупреждения видны только Админу (Drupal 7)?

Главные вкладки

  • Просмотр(активная вкладка)
  • Реакции

Аватар пользователя HESHES
HESHES


5 января 2014 в 5:12


На странице admin/config/development/logging есть опция «Отключить отображение всех ошибок на сайте» (рекомендуется не выводить ошибки на монитор на рабочем сайте).

Но как-то можно включить отображение ошибок только для Админа?

Если роль админ, то показывать ошибки. А по-умолчанию — не показывать — ?

  • Drupal7
  • Есть вопрос
  • Решение проблем
  • Блог
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Комментарии

Аватар пользователя drupby
drupby


5 января 2014 в 5:41




«OH Labs» wrote:

Но как-то можно включить отображение ошибок только для Админа?

ну так гугл по запросу «drupal error messages only for admin» дает кучу результатов с решением

Аватар пользователя Murdok
Murdok


5 января 2014 в 9:08




Они вроде только для админа и должны отображаться. Но на всякий проверьте сайт под анонимом, и под обычным пользователем. Мало ли что там у вас.

Аватар пользователя VasyOK
VasyOK


5 января 2014 в 13:02




Аватар пользователя drupby
drupby


5 января 2014 в 13:24




Аватар пользователя HESHES
HESHES


7 января 2014 в 4:44




Ничего не прокатывает.

Если скрывать через админку, то ДЛЯ ВСЕХ скрываются варинги/нотисы.

Disable_messages — отключает зеленые, желтые или красные сообщения. В красные входят нотисы и варинги (их и надо скрыть от всех, кроме админа) + служебные.
НО если убрать красные у юзеров, то скрываются и служебные вспомогательные сообщения, типо «Вы не заполнили поле.. и т.п.»

Ну и темизация также работает.. по цвету, вроде как.

Нужно отделить как-то ИЗ КРАСНЫХ МЕССАГ — только PHP-варинги/нотисы, и их то не показывать, не отключая при этом, другие полезные «Красные» сообщения..

Аватар пользователя univerico
univerico


25 января 2018 в 19:30




Тоже это пытаюсь решить
Нужно все же уточнить, какие есть полезные сообщения? У моделя немного своя теримнология.
В настройках модуля на странице /admin/config/development/disable-messages написано
что можно настроить еще и правах на странице /admin/people/permissions
Там три типа
— View status messages
-View warning messages
-View error messages
и четвертый вариант Exclude from message filtering
При включении показывать warnings, то что идет как обычные Warnings не проходит, а проходит при включении View error messages. Полезные красные сообщения, которые Вы имеете ввиду это status messages, warning messages или error messages?
При проведении теста именно на предмет сообщений о незаполнении полей у меня получилось:
-при выключении всех 4 вариантов, если не заполнить поле, то оно просто выделяется красным, и сообщения ни для пользователя текстове об этом, ни другие сообщения для админа не выводятся.
-при включении только View warning messages такакая же ситуация, но видимо еще и будут выводиться какие-то другие сообщения Warnings (которых у меня просто не было в данный момент на сайте).

Preface: This answer was first posted as an answer to «How do I suppress a warning or error message for site users?».

Disable Messages module

You could use the Disable Messages module for this. Here is a quote from its project page:

Gives a site owner options to disable specific messages shown to end users. The core drupal message system as offered by drupal_set_message is an excellent way for modules to send out messages to the end users. However not all drupal site owners are keen to show all the messages sent out by drupal core and all modules to their users. This module gives site administrators a reasonably powerful way to filter out messages shown to the end users.

Some of its features are:

  • Filter out messages that match a full text string exactly.
  • Filter out messages that match a regular expression.
  • Permissions to specifically hide all messages of a given type from any role.
  • Disable all filtering for specific users.
  • Disable all filtering for specific paths.
  • Apply filtering only for specific paths.
  • Debug system to get messages in the HTML without showing it to the end users.

Available for either Drupal 6, Drupal 7 or Drupal 8.

About using regular expressions

If you’re using its ‘regular expression‘ feature, you have to make sure that you use a regular expression that «catches» the error message you want to intercept, as explained also in the Community documentation.

Below «Tip: Keep it simple.» on that page, there is a great sample, which looks like so:

Be aware that something that appears very straightforward like:

Notice: Undefined index: field_txt_student_id in ctools_entity_form_field_content_type_render() (line 96 of [...]entity_form_field.inc).

Has a lot more unseen characters in it than one might expect:

<em class="placeholder">Notice</em>: Undefined index: field_txt_student_id in <em class="placeholder">ctools_entity_form_field_content_type_render()</em> (line <em class="placeholder">96</em> of <em class="placeholder">[...]entity_form_field.inc</em>).

So just wrap the meat of the grep with a simple «any character» regex: «.+» as in:

.+Notice.+Undefined index:.+ctools_entity_form_field_content_type_render.+entity_form_field.inc.+

So the «clue» to come up with a correct message, is to shrink the error message you want to catch, and putting «.+» characters where appropriate.

Talking about shrinking, note that the field_txt_student_id has been omitted in the regular expression also (to make it NOT depend on the field name).

Example

As another example, assume you want to catch this error message:

PDOException: in dblog_watchdog() (line 160 of /home/dbuser/public_html/yoursitesname.com/modules/dblog/dblog.module).

In this case a possible regular expression should look something like so:

.+PDOException.+in dblog_watchdog().+(line 160 of.+/modules/dblog/dblog.module).+

Note how I intentionally did not include part of the path before /modules/dblog/dblog.module (so that it can be reused in another site where the very same error occurs …).

Also note that you have to give it some thought to yes or no include the 160 part of it: if the module ever changes a bit so that in the error message it (eg) becomes line 161, your error will not be intercepted anymore. To avoid that, omit the 160 part of it, if that’s what you prefer (personally I would rather first see the error coming back then, and then re-adapt my regular expression).

If your regular expression doesn’t work at first (= the message still appears), then it might be because there is some typo in the regular expression. To pinpoint such typo, first try with a less restrictive regular expression, even if it was only to try with something like so (to catch ALL messages containing PDOException and dblog_watchdog):

.+PDOException.+dblog_watchdog.+

Or even like so (to catch ALL messages containing PDOException):

.+PDOException.+

These last 2 expressions would probably suppress way too much messages, so you’d want to narrow it down to that single one you’re after.

Unstable alternative

There is also the Better Messages module as an alternative. However, for D7 (which is what this question is about), it only has an Alfa version.

How can I turn off warnings in drupal 7?

Brian Webster's user avatar

Brian Webster

30.1k48 gold badges152 silver badges225 bronze badges

asked Jun 9, 2011 at 17:48

Fero's user avatar

3

I am assuming you mean the messages at the top of the page, but you did not provide any detailed information.

In Drupal 7, navigate to admin/config/development/logging and choose the radio button «None» as seen below:
Logging and Errors

answered Jun 15, 2011 at 19:42

Laxman13's user avatar

Laxman13Laxman13

5,2263 gold badges23 silver badges27 bronze badges

Other than using the GUI at admin/config/development/logging, there are two other methods to change the Logging and errors option. These lend themselves to scripting and automation.

  • Using Drush CLI, we can do: drush vset error_level 0
    Use drush vset error_level 1 to select Errors and Warnings, or,
    drush vset error_level 2 to select All.
  • If you do not have Drush installed, this option can be toggled in settings.php by adding $conf['error_level'] = 0; to the file. For options other than turning the logging and error display off, the codes are the same as those I list above for the Drush method.

answered Nov 7, 2018 at 10:41

Bytech's user avatar

BytechBytech

1,1257 silver badges22 bronze badges

1

Drupal core provides a feature to show error messages to site visitors. By default this feature is enabled which is very helpful while building a site because the visitor can quickly see the error messages.

Once a site has entered «production» mode this feature should be disabled to avoid information disclosure such as the full filesystem path on the server or the structure of tables in a SQL error message.

Disabling display of error messages in Drupal 7

As an administrator, navigate to Home » Administration » Configuration » Development » Logging and errors. Set the «Error messages to display» option to «None.»

Disabling display of error messages in Drupal 6

As an administrator, navigate to Home » Administer » Site configuration » Error reporting. Set the «Error reporting» option to «Write errors to the log.»

Disabling display of error messages when the database is not accessible

There is a chance that the database will not be accessible, in which case Drupal cannot find the error reporting options set in the previous steps and instead will use the default error_level which is to display errors. To prevent errors from being displayed in that scenario, it’s best to use the $conf global variable from settings.php to set the error_level variable to disabled. The following line of code will achieve that in both Drupal 6 and Drupal 7.

// Place this in settings.php to disable printing of error messages.
$conf['error_level'] = 0;

Disabling display of notices in PHP

PHP also has a configuration for which errors are shown. For production environments this value should be set to something that will not display notices such as E_ERROR.

To help identify this and other potential problems on a site, you should consider using the Security Review module.

Если у вас вдруг, чтобы вы не делали в Drupal не отображаются ошибки (errors) или предупреждения (warnings) PHP, то возможно вам следует заглянуть на следующую страничку конфигурирования системы — http://example-drupal-site.com/admin/config/development/logging. Возможно там просто нужно будет правильно выставить переключатель, — смотрите скриншот, который показан ниже:

Drupal 7 - logging and errors

Описанные опции можно найти по пути Главная » Администрирование » Конфигурация » Разработка » Logging and errors.

Материал актуален применительно к Drupal 7.

Опубликовано 7-01-2014 в 11:52

Понравилась статья? Поделить с друзьями:
  • Driver 38813 ошибка
  • Drive off gear too high ошибка даф
  • Drive locked by external process transmac ошибка
  • Drgbase nextbot base ошибка
  • Dreame v11 ошибка батареи