Movatterモバイル変換


[0]ホーム

URL:


    Examples »
    « Runtime Configuration

    Predefined Constants

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

    The following constants (either the corresponding numerical value or their symbolic name) are used as a bitmask to specify which errors to report. It is possible to usebitwise operators to combine these values or mask out certain types of errors.

    Tip

    The name of the constants can be used withinphp.ini, instead of the raw numerical values to which they correspond to. However, only the|,~,^,!,& operators are understood withinphp.ini.

    Warning

    It is not possible to use the symbolic names outside of PHP. For example inhttpd.conf the computed bitmask value must be used instead.

    E_ERROR (int)
    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. Value of the constant:1
    E_WARNING (int)
    Run-time warnings (non-fatal errors). Execution of the script is not halted. Value of the constant:2
    E_PARSE (int)
    Compile-time parse errors. Parse errors should only be generated by the parser. Value of the constant:4
    E_NOTICE (int)
    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. Value of the constant:8
    E_CORE_ERROR (int)
    Fatal errors that occur during PHP's initial startup. This is like anE_ERROR, except it is generated by the core of PHP. Value of the constant:16
    E_CORE_WARNING (int)
    Warnings (non-fatal errors) that occur during PHP's initial startup. This is like anE_WARNING, except it is generated by the core of PHP. Value of the constant:32
    E_COMPILE_ERROR (int)
    Fatal compile-time errors. This is like anE_ERROR, except it is generated by the Zend Scripting Engine. Value of the constant:64
    E_COMPILE_WARNING (int)
    Compile-time warnings (non-fatal errors). This is like anE_WARNING, except it is generated by the Zend Scripting Engine. Value of the constant:128
    E_DEPRECATED (int)
    Run-time deprecation notices. Enable this to receive warnings about code that will not work in future versions. Value of the constant:8192
    E_USER_ERROR (int)
    User-generated error message. This is like anE_ERROR, except it is generated in PHP code by using the PHP functiontrigger_error(). Value of the constant:256
    Warning

    Usage of this constant withtrigger_error() is deprecated as of PHP 8.4.0. It is recommended to eitherthrow anException or callexit() instead.

    E_USER_WARNING (int)
    User-generated warning message. This is like anE_WARNING, except it is generated in PHP code by using the PHP functiontrigger_error(). Value of the constant:512
    E_USER_NOTICE (int)
    User-generated notice message. This is like anE_NOTICE, except it is generated in PHP code by using the PHP functiontrigger_error(). Value of the constant:1024
    E_USER_DEPRECATED (int)
    User-generated deprecation message. This is like anE_DEPRECATED, except it is generated in PHP code by using the PHP functiontrigger_error(). Value of the constant:16384
    E_STRICT (int)
    Run-time suggestions emitted by PHP about the executed code to ensure forward compatibility. Value of the constant:2048
    Warning

    This error level is unused, and has been deprecated as of PHP 8.4.0.

    E_RECOVERABLE_ERROR (int)
    Legacy engine "exceptions" which correspond to catchable fatal error. Similar toError but must be caught via a user defined error handler (seeset_error_handler()). If not handled, this behaves likeE_ERROR. Value of the constant:4096

    Note: This error level is effectively unused, the only case where this can happen is when interpreting anobject as abool fails. This can only happen for internal objects. The most common example, prior to PHP 8.4.0, is using aGMP instance in a conditional.

    E_ALL (int)
    Bit-mask that contains every single error, warning, and notice. Value of the constant:30719
    Warning

    Prior to PHP 8.4, the constant value was:32767

    Found A Problem?

    Learn How To Improve This PageSubmit a Pull RequestReport a Bug
    add a note

    User Contributed Notes8 notes

    Andy at Azurite (co uk)
    14 years ago
    -1 is also semantically meaningless as a bit field, and only works in 2s-complement numeric representations.  On a 1s-complement system -1 would not set E_ERROR.  On a sign-magnitude system -1 would set nothing at all! (see e.g.http://en.wikipedia.org/wiki/Ones%27_complement)If you want to set all bits, ~0 is the correct way to do it.But setting undefined bits could result in undefined behaviour and that means *absolutely anything* could happen :-)
    cl at viazenetti dot de
    8 years ago
    An other way to get all PHP errors  that are set to be reported. This code will even work, when additional error types are added in future.<?php$pot=0;foreach (array_reverse(str_split(decbin(error_reporting()))) as$bit) {    if ($bit==1) {        echoarray_search(pow(2,$pot),get_defined_constants(true)['Core'])."<br>\n";    }$pot++;}?>
    russthom at fivegulf dot com
    13 years ago
    [Editor's note: fixed E_COMPILE_* cases that incorrectly returned E_CORE_* strings. Thanks josiebgoode.]The following code expands on Vlad's code to show all the flags that are set.  if not set, a blank line shows.<?php$errLvl=error_reporting();for ($i=0;$i<15;$i++ ) {    printFriendlyErrorType($errLvl&pow(2,$i)) ."<br>\\n"; }functionFriendlyErrorType($type){    switch($type)    {        caseE_ERROR:// 1 //return'E_ERROR';        caseE_WARNING:// 2 //return'E_WARNING';        caseE_PARSE:// 4 //return'E_PARSE';        caseE_NOTICE:// 8 //return'E_NOTICE';        caseE_CORE_ERROR:// 16 //return'E_CORE_ERROR';        caseE_CORE_WARNING:// 32 //return'E_CORE_WARNING';        caseE_COMPILE_ERROR:// 64 //return'E_COMPILE_ERROR';        caseE_COMPILE_WARNING:// 128 //return'E_COMPILE_WARNING';        caseE_USER_ERROR:// 256 //return'E_USER_ERROR';        caseE_USER_WARNING:// 512 //return'E_USER_WARNING';        caseE_USER_NOTICE:// 1024 //return'E_USER_NOTICE';        caseE_STRICT:// 2048 //return'E_STRICT';        caseE_RECOVERABLE_ERROR:// 4096 //return'E_RECOVERABLE_ERROR';        caseE_DEPRECATED:// 8192 //return'E_DEPRECATED';        caseE_USER_DEPRECATED:// 16384 //return'E_USER_DEPRECATED';    }    return"";}?>
    fadhilinjagi at gmail dot com
    4 years ago
    A simple and neat way to get the error level from the error code. You can even customize the error level names further.<?php$exceptions= [E_ERROR=>"E_ERROR",E_WARNING=>"E_WARNING",E_PARSE=>"E_PARSE",E_NOTICE=>"E_NOTICE",E_CORE_ERROR=>"E_CORE_ERROR",E_CORE_WARNING=>"E_CORE_WARNING",E_COMPILE_ERROR=>"E_COMPILE_ERROR",E_COMPILE_WARNING=>"E_COMPILE_WARNING",E_USER_ERROR=>"E_USER_ERROR",E_USER_WARNING=>"E_USER_WARNING",E_USER_NOTICE=>"E_USER_NOTICE",E_STRICT=>"E_STRICT",E_RECOVERABLE_ERROR=>"E_RECOVERABLE_ERROR",E_DEPRECATED=>"E_DEPRECATED",E_USER_DEPRECATED=>"E_USER_DEPRECATED",E_ALL=>"E_ALL"];echo$exceptions["1"];$code=256;echo$exceptions[$code];?>Output:  E_ERRORE_USER_ERRORThis will need updating when PHP updates the error level names. Otherwise, it works just fine.
    bbrokman at gmail dot com
    6 years ago
    A neat way to have a place in code to control error reporting configuration :)<?php$errorsActive= [E_ERROR=>FALSE,E_WARNING=>TRUE,E_PARSE=>TRUE,E_NOTICE=>TRUE,E_CORE_ERROR=>FALSE,E_CORE_WARNING=>FALSE,E_COMPILE_ERROR=>FALSE,E_COMPILE_WARNING=>FALSE,E_USER_ERROR=>TRUE,E_USER_WARNING=>TRUE,E_USER_NOTICE=>TRUE,E_STRICT=>FALSE,E_RECOVERABLE_ERROR=>TRUE,E_DEPRECATED=>FALSE,E_USER_DEPRECATED=>TRUE,E_ALL=>FALSE,];error_reporting(array_sum(array_keys($errorsActive,$search=true)    ));?>
    kezzyhko at NOSPAM dot semysha dot ru
    9 years ago
    As for me, the best way to get error name by int value is that. And it's works fine for me ;)<?phparray_flip(array_slice(get_defined_constants(true)['Core'],1,15,true))[$type];//the same in readable formarray_flip(array_slice(get_defined_constants(true)['Core'],1,15,true))[$type]?>
    kaioker
    4 years ago
    super simple error code to human readable conversion:function prettycode($code){    return $code == 0 ? "FATAL" : array_search($code, get_defined_constants(true)['Core']);}
    ErikBachmann
    6 years ago
    <?phpfunctiongetErrorTypeByValue($type) {$constants=get_defined_constants(true);    foreach ($constants['Core'] as$key=>$value) {// Each Core constantif (preg_match('/^E_/',$key) ) {// Check error constantsif ($type==$value)                 return("$key=$value");        }    }}// getErrorTypeByValue()echo"[".getErrorTypeByValue(1) ."]".PHP_EOL;echo"[".getErrorTypeByValue(0) ."]".PHP_EOL;echo"[".getErrorTypeByValue(8) ."]".PHP_EOL;?>Will give    [E_ERROR=1]    []    [E_NOTICE=8]
    add a note
    To Top
    and to navigate •Enter to select •Esc to close •/ to open
    PressEnter without selection to search using Google

    [8]ページ先頭

    ©2009-2025 Movatter.jp