The predefined constants (always available) are:
The name of the script file presently being parsed. If used within a file which has been included or required, then the name of the included file is given, and not the name of the parent file.
The number of the line within the current script file which is being parsed. If used within a file which has been included or required, then the position within the included file is given.
The string representation of the version of the PHP parser presently in use; for example '4.1.0'.
The name of the operating system on which the PHP parser is executing;. Possible values may be : "AIX", "Darwin" (MacOS), "Linux", "SunOS", "WIN32", "WINNT". Note: other values may be available too.
A TRUE value (see the boolean type).
A FALSE value (see the boolean type).
A NULL value (see the null type).
Denotes an error other than a parsing error from which recovery is not possible.
Denotes a condition where PHP knows something is wrong, but will continue anyway; these can be caught by the script itself. An example would be an invalid regexp in ereg().
The parser choked on invalid syntax in the script file. Recovery is not possible.
Something happened which may or may not be an error. Execution continues. Examples include using an unquoted string as an array index, or accessing a variable which has not been set.
All of the E_* constants rolled into one. If used with error_reporting(), will cause any and all problems noticed by PHP to be reported.