Error reporting code in php

error_reporting

Функция error_reporting() задает значение директивы error_reporting во время выполнения. В PHP есть много уровней ошибок. Используя эту функцию, можно задать уровень ошибок времени выполнения скрипта, которые попадут в отчет. Если необязательный аргумент level не задан, error_reporting() вернет текущее значение уровня протоколирования ошибок.

Список параметров

Новое значение уровня error_reporting. Это может быть битовая маска или именованные константы. При использовании именованных констант нужно будет следить за совместимостью с новыми версиями PHP. В новых версиях могут добавиться новые уровни ошибок, увеличиться диапазон целочисленных типов. Все это может привести к нестабильной работе при использовании старых целочисленных обозначений уровней ошибок.

Доступные константы уровней ошибок и их описания приведены в разделе Предопределенные константы.

Возвращаемые значения

Возвращает старое значение уровня error_reporting либо текущее значение, если аргумент level не задан.

Список изменений

Версия Описание
5.4.0 E_STRICT стал частью E_ALL .
5.3.0 Добавлены E_DEPRECATED и E_USER_DEPRECATED .
5.2.0 Добавлена E_RECOVERABLE_ERROR .
5.0.0 Добавлена E_STRICT (не входит в состав E_ALL ).

Примеры

Пример #1 Примеры использования error_reporting()

// Выключение протоколирования ошибок
error_reporting ( 0 );

// Включать в отчет простые описания ошибок
error_reporting ( E_ERROR | E_WARNING | E_PARSE );

// Включать в отчет E_NOTICE сообщения (добавятся сообщения о
//непроинициализированных переменных или ошибках в именах переменных)
error_reporting ( E_ERROR | E_WARNING | E_PARSE | E_NOTICE );

// Добавлять сообщения обо всех ошибках, кроме E_NOTICE
error_reporting ( E_ALL & ~ E_NOTICE );

// Добавлять в отчет все PHP ошибки (см. список изменений)
error_reporting ( E_ALL );

// Добавлять в отчет все PHP ошибки
error_reporting (- 1 );

// То же, что и error_reporting(E_ALL);
ini_set ( ‘error_reporting’ , E_ALL );

Примечания

Большинство E_STRICT ошибок отлавливаются на этапе компиляции, поэтому такие ошибки не включаются в отчет в файлах, где error_reporting расширен для включения E_STRICT ошибок (и наоборот).

Если передать -1, будут отображаться все возможные ошибки, даже если в новых версиях PHP добавятся уровни или константы. В версии PHP 5.4. передача константы E_ALL дает тот же результат.

Смотрите также

  • Директива display_errors
  • Директива html_errors
  • Директива xmlrpc_errors
  • ini_set() — Установка значения настройки конфигурации

Источник

Предопределённые константы

Перечисленные ниже константы всегда доступны как часть ядра PHP.

Замечание: Данные имена констант можно использовать в файле php.ini но не вне PHP, как например в файле httpd.conf , где вместо них необходимо использовать значения их битовых масок.

Ошибки и протоколирование
Значение Константа Описание Примечание
1 E_ERROR ( int ) Фатальные ошибки времени выполнения. Это неустранимые средствами самого скрипта ошибки, такие как ошибка распределения памяти и т.п. Выполнение скрипта в таком случае прекращается.
2 E_WARNING ( int ) Предупреждения времени выполнения (не фатальные ошибки). Выполнение скрипта в таком случае не прекращается.
4 E_PARSE ( int ) Ошибки на этапе компиляции. Должны генерироваться только парсером.
8 E_NOTICE ( int ) Уведомления времени выполнения. Указывают на то, что во время выполнения скрипта произошло что-то, что может указывать на ошибку, хотя это может происходить и при обычном выполнении программы.
16 E_CORE_ERROR ( int ) Фатальные ошибки, которые происходят во время запуска РНР. Такие ошибки схожи с E_ERROR , за исключением того, что они генерируются ядром PHP.
32 E_CORE_WARNING ( int ) Предупреждения (не фатальные ошибки), которые происходят во время начального запуска РНР. Такие предупреждения схожи с E_WARNING , за исключением того, что они генерируются ядром PHP.
64 E_COMPILE_ERROR ( int ) Фатальные ошибки на этапе компиляции. Такие ошибки схожи с E_ERROR , за исключением того, что они генерируются скриптовым движком Zend.
128 E_COMPILE_WARNING ( int ) Предупреждения на этапе компиляции (не фатальные ошибки). Такие предупреждения схожи с E_WARNING , за исключением того, что они генерируются скриптовым движком Zend.
256 E_USER_ERROR ( int ) Сообщения об ошибках, сгенерированные пользователем. Такие ошибки схожи с E_ERROR , за исключением того, что они генерируются в коде скрипта средствами функции PHP trigger_error() .
512 E_USER_WARNING ( int ) Предупреждения, сгенерированные пользователем. Такие предупреждения схожи с E_WARNING , за исключением того, что они генерируются в коде скрипта средствами функции PHP trigger_error() .
1024 E_USER_NOTICE ( int ) Уведомления, сгенерированные пользователем. Такие уведомления схожи с E_NOTICE , за исключением того, что они генерируются в коде скрипта, средствами функции PHP trigger_error() .
2048 E_STRICT ( int ) Включаются для того, чтобы PHP предлагал изменения в коде, которые обеспечат лучшее взаимодействие и совместимость кода.
4096 E_RECOVERABLE_ERROR ( int ) Фатальные ошибки с возможностью обработки. Такие ошибки указывают, что, вероятно, возникла опасная ситуация, но при этом, скриптовый движок остаётся в стабильном состоянии. Если такая ошибка не обрабатывается функцией, определённой пользователем для обработки ошибок (смотрите set_error_handler() ), выполнение приложения прерывается, как происходит при ошибках E_ERROR .
8192 E_DEPRECATED ( int ) Уведомления времени выполнения об использовании устаревших конструкций. Включаются для того, чтобы получать предупреждения о коде, который не будет работать в следующих версиях PHP.
16384 E_USER_DEPRECATED ( int ) Уведомления времени выполнения об использовании устаревших конструкций, сгенерированные пользователем. Такие уведомления схожи с E_DEPRECATED за исключением того, что они генерируются в коде скрипта, с помощью функции PHP trigger_error() .
32767 E_ALL ( int ) Все поддерживаемые ошибки, предупреждения и замечания.

Представленные выше значения (как числовые, так и символьные) используются для задания битовой маски, определяющей об ошибках какого типа будет даваться отчёт. Вы можете использовать побитовые операторы, чтобы совмещать эти значения для указания определённых типов ошибок. Стоит отметить, что в php.ini допустимы только следующие операторы: ‘|’, ‘~’, ‘!’, ‘^’ и ‘&’.

Источник

Читайте также:  Html css style templates
Оцените статью