Resource Types
Examples
Error Handling
PHP Manual

# Predefined Constants

The constants below are always available as part of the PHP core.

> Note: You may use these constant names in php.ini but not outside of PHP, like in httpd.conf, where you'd use the bitmask values instead.

Errors and Logging
Value | Constant | Description | Note
--- | --- | --- | ---
1 | `E_ERROR` (integer) | Fatal run-time errors. These indicate errors that can not be recovered from, such as a memory allocation problem. Execution of the script is halted. |
2 | `E_WARNING` (integer) | Run-time warnings (non-fatal errors). Execution of the script is not halted. |
4 | `E_PARSE` (integer) | Compile-time parse errors. Parse errors should only be generated by the parser. |
8 | `E_NOTICE` (integer) | Run-time notices. Indicate that the script encountered something that could indicate an error, but could also happen in the normal course of running a script. |
16 | `E_CORE_ERROR` (integer) | Fatal errors that occur during PHP's initial startup. This is like an `E_ERROR`, except it is generated by the core of PHP. |
32 | `E_CORE_WARNING` (integer) | Warnings (non-fatal errors) that occur during PHP's initial startup. This is like an `E_WARNING`, except it is generated by the core of PHP. |
64 | `E_COMPILE_ERROR` (integer) | Fatal compile-time errors. This is like an `E_ERROR`, except it is generated by the Zend Scripting Engine. |
128 | `E_COMPILE_WARNING` (integer) | Compile-time warnings (non-fatal errors). This is like an `E_WARNING`, except it is generated by the Zend Scripting Engine. |
256 | `E_USER_ERROR` (integer) | User-generated error message. This is like an `E_ERROR`, except it is generated in PHP code by using the PHP function trigger_error. |
512 | `E_USER_WARNING` (integer) | User-generated warning message. This is like an `E_WARNING`, except it is generated in PHP code by using the PHP function trigger_error. |
1024 | `E_USER_NOTICE` (integer) | User-generated notice message. This is like an `E_NOTICE`, except it is generated in PHP code by using the PHP function trigger_error. |
2048 | `E_STRICT` (integer) | Enable to have PHP suggest changes to your code which will ensure the best interoperability and forward compatibility of your code. | Since PHP 5 but not included in `E_ALL` until PHP 5.4.0
4096 | `E_RECOVERABLE_ERROR` (integer) | Catchable fatal error. It indicates that a probably dangerous error occurred, but did not leave the Engine in an unstable state. If the error is not caught by a user defined handle (see also set_error_handler), the application aborts as it was an `E_ERROR`. | Since PHP 5.2.0
8192 | `E_DEPRECATED` (integer) | Run-time notices. Enable this to receive warnings about code that will not work in future versions. | Since PHP 5.3.0
16384 | `E_USER_DEPRECATED` (integer) | User-generated warning message. This is like an `E_DEPRECATED`, except it is generated in PHP code by using the PHP function trigger_error. | Since PHP 5.3.0
32767 | `E_ALL` (integer) | All errors and warnings, as supported, except of level `E_STRICT` prior to PHP 5.4.0. | 32767 in PHP 5.4.x, 30719 in PHP 5.3.x, 6143 in PHP 5.2.x, 2047 previously

The above values (either numerical or symbolic) are used to build up a bitmask that specifies which errors to report. You can use the bitwise operators to combine these values or mask out certain types of errors. Note that only '|', '~', '!', '^' and '&' will be understood within php.ini.