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

Следующие константы доступны как часть ядра PHP.

Битовая маска из символических имён или числовых эквивалентов следующих констант устанавливает уровень отчёта об ошибках. Отчёт о конкретных типах ошибок включается путём установки или сброса битов маски при комбинации констант побитовыми операторами.

Подсказка

В файле php.ini вместо буквальных числовых значений разрешается указывать названия констант с эквивалентными значениями. В файле php.ini распознаются только побитовые операторы |, ~, ^, & и оператор отрицания !.

Внимание

Символические имена констант не поддерживаются вне PHP-среды, например, в файле httpd.conf вместо констант потребуется указать вычисленное значение битовой маски.

E_ERROR (int)
Фатальные ошибки времени выполнения. Значение указывает на неустранимые ошибки наподобие проблемы выделения памяти. При критической ошибке выполнение скрипта прерывается. Значение константы: 1
E_WARNING (int)
Предупреждения времени выполнения, некритические ошибки. Выполнение скрипта не прерывается. Значение константы: 2
E_PARSE (int)
Синтаксические ошибки на этапе компиляции. Ошибки разбора генерирует только синтаксический анализатор. Значение константы: 4
E_NOTICE (int)
Уведомления времени выполнения. Значение указывает, что скрипт не нарушает формальные правила синтаксиса и не ломает выполнение программы, но содержит возможную ошибку, которая делает результат работы программы непредсказуемым. Значение константы: 8
E_CORE_ERROR (int)
Фатальные ошибки при запуске и инициализации PHP. Ошибки этого уровня аналогичны ошибкам уровня E_ERROR, но генерируются ядром PHP. Значение константы: 16
E_CORE_WARNING (int)
Предупреждения при запуске и инициализации PHP, некритические ошибки. Ошибки этого уровня аналогичны ошибкам уровня E_WARNING, но генерируются ядром PHP. Значение константы: 32
E_COMPILE_ERROR (int)
Фатальные ошибки на этапе компиляции. Ошибки этого уровня аналогичны ошибкам уровня E_ERROR, но генерируются движком Zend. Значение константы: 64
E_COMPILE_WARNING (int)
Предупреждения на этапе компиляции, некритические ошибки. Ошибки этого уровня аналогичны ошибкам уровня E_WARNING, но генерируются движком Zend. Значение константы: 128
E_DEPRECATED (int)
Уведомления времени выполнения об устаревании. Ошибки этого уровня предупреждают о коде, который перестанет работать в следующих версиях PHP. Значение константы: 8192
E_USER_ERROR (int)
Пользовательские сообщения об ошибках. Ошибки этого уровня аналогичны ошибкам уровня E_ERROR, но генерируются в PHP-коде вызовом функции trigger_error(). Значение константы: 256
Внимание

С PHP 8.4.0 передача константы в функцию trigger_error() устарела. Альтернатива — ключевое слово throw и исключения Exception или вызов функции exit().

E_USER_WARNING (int)
Пользовательские предупреждения. Ошибки этого уровня аналогичны ошибкам уровня E_WARNING, но генерируются в PHP-коде вызовом функции trigger_error(). Значение константы: 512
E_USER_NOTICE (int)
Пользовательские уведомления. Ошибки этого уровня аналогичны ошибкам уровня E_NOTICE, но генерируются в PHP-коде вызовом функции trigger_error(). Значение константы: 1024
E_USER_DEPRECATED (int)
Пользовательские сообщения об устаревании. Ошибки этого уровня аналогичны ошибкам уровня E_DEPRECATED, но генерируются в PHP-коде вызовом функции trigger_error(). Значение константы: 16384
E_STRICT (int)
Ошибки времени выполнения. На этом уровне PHP выдаёт предложения об изменениях кода, которые повысят совместимость кода с новыми версиями PHP. Значение константы: 2048
Внимание

С PHP 8.4.0 ошибки этого уровня устарели, PHP перестал выдавать рекомендации.

E_RECOVERABLE_ERROR (int)
Устаревшие «исключения» движка, которые соответствуют перехватываемым фатальным ошибкам. Ошибки этого уровня похожи на ошибки Error, но отлавливаются пользовательским обработчиком ошибок: set_error_handler(). Поведение необработанной ошибки этого уровня аналогично поведению ошибок уровня E_ERROR. Значение константы: 4096

Замечание: PHP фактически не выдаёт ошибки этого уровня, единственный пример — ошибка при интерпретации внутреннего объекта (object) как значения с типом bool. До PHP 8.4.0 такую ошибку, например, генерировало включение объекта GMP в условное выражение.

E_ALL (int)
Битовая маска, которая включает отчёт обо всех ошибках, предупреждениях и уведомлениях. Значение константы: 30719
Внимание

Значение константы до PHP 8.4: 32767