Следующие константы доступны как часть ядра 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