Drupal 7 вывод ошибки

Drupal надстраивает собственные разрешения на вывод ошибок, потому если вам необходим вывод ошибок на этапе разработки, то важно знать как разрешить их показ/протоколирование.

Чтобы не разбираться в конфигурации конкретно вашего веб-сервера, воспользуемся командами ini_set и error_reporting для настройки вывода PHP ошибок уже во время исполнения скрипта.

Инструкции нужно добавить в файл конфигурации вашего Drupal сайта (по умолчанию это — /sites/default/settings.php).

error_reporting(E_ALL);

ini_set(‘display_errors’, TRUE);

ini_set(‘display_startup_errors’, TRUE);

Это не гарантирует вывод ошибок, т.к. Drupal может иметь собственные настройки. Их можно изменить в админ панели — вот тут /admin/config/development/logging или жестко зафиксировав в конфигурации:

$conf[‘error_level’] = 2;

Это будет соответствовать выбору ‘All messages’ в админке.

Drupal 7

Написать комментарий


Данная запись опубликована в 24.01.2020 13:45 и размещена в drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.

Мало букафф? Читайте есчо !

Set Drupal to show all errors when developing your module.

Some errors are only reported when all PHP error reporting is switched on. Without the error reporting on, you get the dreaded White Screen of Death.

Check for errors behind the scenes

As an alternative between showing no errors and showing all errors, you may wish to monitor the errors being generated by your site by running

tail -f /var/log/apache2/error.log

on your server.

Change settings in your dev site

You can show all errors by adding a few lines to your local testing site’s settings.php:

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

In addition, navigate to Administration→ Configuration→ Development → logging and errors and select «All messages». (This sets $conf['error_level'] = 2;.)

Switch on strict PHP error reporting

Or you can go through your development site’s php.ini file, in the php folder, and switch all error reporting on. To do this, check through your php.ini file and set error_reporting to E_ALL. The documentation there is very thorough, and you may find a different setting that’s better suited to your needs. Warning: as the PHP documentation states, this setting is only for development sites, not for production sites.

  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 (которых у меня просто не было в данный момент на сайте).

In drupal 7 we can log message by following method:

drupal watchdog function we can use to log message in database , make sure we have enabled optional core module for Database Logging at /admin/build/modules.

watchdog($type, $message, $variables = array(), $severity = WATCHDOG_NOTICE, $link = NULL)

$type:
The category to which this message belongs , Example: PHP,cron.., we can filter message by type.

$message :
The message to store in the log,Example: ‘The following module is missing from the file system: security_review’

$variables :
Array of variables to replace in the message on display or NULL if message is already translated or not possible to translate.
to make message translated , do not pass dynamic value pass variables in the message should be added by using placeholder strings.

Example:
watchdog(‘cg_volunteer’, ‘cg in form_alter %formly’, array(‘%formly’ => $form[‘#id’]), WATCHDOG_NOTICE, $link = NULL);

$severity
The severity of the message,logs can be filter by severity as per RFC 3164. Possible values are WATCHDOG_ERROR, WATCHDOG_WARNING, etc.
For more example see https://api.drupal.org/api/drupal/includes!bootstrap.inc/function/watchdog/7.x

$link:
A link to associate with the message.

Example

// for logs notices

watchdog('my_module', $message, array());

// for Loging Error

watchdog('my_module', $message, array(), WATCHDOG_ERROR);

In drupal 8 we used following method:

// For Logs a notice.

Drupal::logger('my_module')->notice($message);

// For Logs an error.

Drupal::logger('my_module')->error($message);

// For Alert, action must be taken immediately.

Drupal::logger('my_module')->alert($message);

// For Critical message.

Drupal::logger('my_module')->critical($message);

// For Debug-level messages.

Drupal::logger('my_module')->debug($message);

//For Emergency, system is unusable.

Drupal::logger('my_module')->emergency($message);

//For Warning

Drupal::logger('my_module')->warning($message);

//For Informational messages.

Drupal::logger('my_module')->info($message);

Also for translate we should not use t() function.

Drupal::logger('my_module')->alert('Message from @module: @message.', [
'@module' => $module,
'@message' => $message,
]);

this will be translated on run time.

Example :

Drupal::logger('content_entity_example')->notice('@type: deleted %title.',
array(
'@type' => $this->entity->bundle(),
'%title' => $this->entity->label(),
));

Если у вас вдруг, чтобы вы не делали в 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

Понравилась статья? Поделить с друзьями:
  • Drugs activated ошибка
  • Dropbox при выполнении вашего запроса возникла ошибка
  • Dropbox ошибка при установке
  • Drone health ошибка
  • Droidcam ошибка connect failed please try again