Функции Язык программирования PHP

error_reporting

(PHP 3, PHP 4)

error_reporting - устанавливает, о каких ошибках PHP сообщается.

Описание

int error_reporting ([int level])

Устанавливает уровень сообщения об ошибках PHP и возвращает старый уровень. Уровень сообщения об ошибках это либо битовая маска, либо именованная константа. Использование именованной константы настоятельно рекомендуется для обеспечения совместимости с последующими версиями. После добавления уровней ошибок увеличивается диапазон целых чисел, так что старые уровни ошибок на базе целочисленных значений не всегда будут работать так, как задумано.
Пример 1. Изменения целочисленных значений ошибок
error_reporting (55); // PHP 3-эквивалент для E_ALL ^ E_NOTICE /* ...in PHP 
4, '55' would mean (E_ERROR | E_WARNING | E_PARSE | E_CORE_ERROR | E_CORE_WARNING) 
*/ error_reporting (2039); // PHP 4-эквивалент для E_ALL ^ E_NOTICE error_reporting 
(E_ALL ^ E_NOTICE); // то же самое и в PHP 3, и в 4

Перейдите по ссылкам констант для изучения их значения:

Таблица 1. Битовые значения error_reporting()
значение константа
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE
2047 E_ALL
Пример 2. 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); // Сообщать обо всех ошибках PHP (использовать 
битовое 63 в PHP 3) error_reporting (E_ALL);

Назад Оглавление Вперёд
error_log Вверх restore_error_handler

Глава 24. Использование PHP из командной строки

Эта опция позволяет выполнять PHP прямо в командной строке. Начальный и конечный тэги PHP (<?php и ?>) не нужны и вызывают ошибки разборщика.

Примечание: нужно проявлять внимание при использовании этой формы PHP, чтобы не было противоречий с заменой переменных командной строки, выполняемой оболочкой.

Пример, выводящий ошибку разборщика:

$ php -r "$foo = get_defined_constants();" Command line code(1) : Parse error 
- parse error, unexpected '='

Проблема здесь в том, что sh/bash выполняет замену переменной даже при использовании двойных кавычек ". Поскольку переменная $foo вряд ли определена, она ни во что не разворачивается, что в результате даёт код, передаваемый в PHP для выполнения, фактически прочитанный:

$ 
php -r " = get_defined_constants();"