PHP 5.6.0beta1 released

Constantes predefinidas

Estas constantes están disponibles siempre ya que forman parte del núcleo de PHP.

Nota: Se pueden usar estos nombres de constantes en php.ini pero no fuera de PHP, como en httpd.conf, donde se deberían usar en su lugar valores de máscara de bits.

Errores y Registro
Valor Constante Descripción Nota
1 E_ERROR (integer) Errores Fatales en tiempo de ejecución. Éstos indican errores que no se pueden recuperar, tales como un problema de asignación de memoria. La ejecución del script se interrumpe.  
2 E_WARNING (integer) Advertencias en tiempo de ejecución (errores no fatales). La ejecución del script no se interrumpe.  
4 E_PARSE (integer) Errores de análisis en tiempo de compilación. Los errores de análisis deberían ser generados únicamente por el analizador.  
8 E_NOTICE (integer) Avisos en tiempo de ejecución. Indican que el script encontró algo que podría señalar un error, pero que también podría ocurrir en el curso normal al ejecutar un script.  
16 E_CORE_ERROR (integer) Errores fatales que ocurren durante el arranque incial de PHP. Son como un E_ERROR, excepto que son generados por el núcleo de PHP.  
32 E_CORE_WARNING (integer) Advertencias (errores no fatales) que ocurren durante el arranque inicial de PHP. Son como un E_WARNING, excepto que son generados por el núcleo de PHP.  
64 E_COMPILE_ERROR (integer) Errores fatales en tiempo de compilación. Son como un E_ERROR, excepto que son generados por Motor de Script Zend.  
128 E_COMPILE_WARNING (integer) Advertencias en tiempo de compilación (errores no fatales). Son como un E_WARNING, excepto que son generados por Motor de Script Zend.  
256 E_USER_ERROR (integer) Mensaje de error generado por el usuario. Es como un E_ERROR, excepto que es generado por código de PHP mediante el uso de la función de PHP trigger_error().  
512 E_USER_WARNING (integer) Mensaje de advertencia generado por el usuario. Es como un E_WARNING, excepto que es generado por código de PHP mediante el uso de la función de PHP trigger_error().  
1024 E_USER_NOTICE (integer) Mensaje de aviso generado por el usuario. Es como un E_NOTICE, excepto que es generado por código de PHP mediante el uso de la función de PHP trigger_error().  
2048 E_STRICT (integer) Habilítelo para que PHP sugiera cambios en su código, lo que asegurará la mejor interoperabilidad y compatibilidad con versiones posteriores de PHP de su código. Desde PHP 5 pero no incluidoen E_ALL hasta PHP 5.4.0
4096 E_RECOVERABLE_ERROR (integer) Error fatal capturable. Indica que ocurrió un error probablemente peligroso, pero no dejó al Motor en un estado inestable. Si no se captura el error mediante un gestor definido por el usuario (vea también set_error_handler()), la aplicación se abortará como si fuera un E_ERROR. Desde PHP 5.2.0
8192 E_DEPRECATED (integer) Avisos en tiempo de ejecución. Habilítelo para recibir avisos sobre código que no funcionará en futuras versiones. Desde PHP 5.3.0
16384 E_USER_DEPRECATED (integer) Mensajes de advertencia generados por el usuario. Son como un E_DEPRECATED, excepto que es generado por código de PHP mediante el uso de la función de PHP trigger_error(). Desde PHP 5.3.0
32767 E_ALL (integer) Todos los errores y advertencias soportados, excepto del nivel E_STRICT antes de PHP 5.4.0. 32767 en PHP 5.4.x, 30719 en PHP 5.3.x, 6143 en PHP 5.2.x, 2047 anteriormente

Los valores de arriba (numéricos o simbólicos) se usan para construir una máscara de bits que especifica qué errores notificar. Se pueden usar los operadores a nivel de bit para combinar estos valores o para enmascarar ciertos tipos de errores. Observe que sólo serán interpretados '|', '~', '!', '^' y '&' dentro de php.ini.

add a note add a note

User Contributed Notes 7 notes

up
8
Andy at Azurite (co uk)
3 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 :-)
up
6
russthom at fivegulf dot com
1 year ago
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++ ) {
    print
FriendlyErrorType($errLvl & pow(2, $i)) . "<br>\\n";
}

function
FriendlyErrorType($type)
{
    switch(
$type)
    {
        case
E_ERROR: // 1 //
           
return 'E_ERROR';
        case
E_WARNING: // 2 //
           
return 'E_WARNING';
        case
E_PARSE: // 4 //
           
return 'E_PARSE';
        case
E_NOTICE: // 8 //
           
return 'E_NOTICE';
        case
E_CORE_ERROR: // 16 //
           
return 'E_CORE_ERROR';
        case
E_CORE_WARNING: // 32 //
           
return 'E_CORE_WARNING';
        case
E_CORE_ERROR: // 64 //
           
return 'E_COMPILE_ERROR';
        case
E_CORE_WARNING: // 128 //
           
return 'E_COMPILE_WARNING';
        case
E_USER_ERROR: // 256 //
           
return 'E_USER_ERROR';
        case
E_USER_WARNING: // 512 //
           
return 'E_USER_WARNING';
        case
E_USER_NOTICE: // 1024 //
           
return 'E_USER_NOTICE';
        case
E_STRICT: // 2048 //
           
return 'E_STRICT';
        case
E_RECOVERABLE_ERROR: // 4096 //
           
return 'E_RECOVERABLE_ERROR';
        case
E_DEPRECATED: // 8192 //
           
return 'E_DEPRECATED';
        case
E_USER_DEPRECATED: // 16384 //
           
return 'E_USER_DEPRECATED';
    }
    return
"";
}
?>
up
0
Anonymous
1 year ago
this would give you all the reported exception list of your configuration.

<?php
function FriendlyErrorType($type)
{
   
$return ="";
    if(
$type & E_ERROR) // 1 //
       
$return.='& E_ERROR ';
    if(
$type & E_WARNING) // 2 //
       
$return.='& E_WARNING ';
    if(
$type & E_PARSE) // 4 //
       
$return.='& E_PARSE ';
    if(
$type & E_NOTICE) // 8 //
       
$return.='& E_NOTICE ';
    if(
$type & E_CORE_ERROR) // 16 //
       
$return.='& E_CORE_ERROR ';
    if(
$type & E_CORE_WARNING) // 32 //
       
$return.='& E_CORE_WARNING ';
    if(
$type & E_COMPILE_ERROR) // 64 //
       
$return.='& E_COMPILE_ERROR ';
    if(
$type & E_COMPILE_WARNING) // 128 //
       
$return.='& E_COMPILE_WARNING ';
    if(
$type & E_USER_ERROR) // 256 //
       
$return.='& E_USER_ERROR ';
    if(
$type & E_USER_WARNING) // 512 //
       
$return.='& E_USER_WARNING ';
    if(
$type & E_USER_NOTICE) // 1024 //
       
$return.='& E_USER_NOTICE ';
    if(
$type & E_STRICT) // 2048 //
       
$return.='& E_STRICT ';
    if(
$type & E_RECOVERABLE_ERROR) // 4096 //
       
$return.='& E_RECOVERABLE_ERROR ';
    if(
$type & E_DEPRECATED) // 8192 //
       
$return.='& E_DEPRECATED ';
    if(
$type & E_USER_DEPRECATED) // 16384 //
       
$return.='& E_USER_DEPRECATED ';
    return
substr($return,2);
}
echo
"error_reporting = " . FriendlyErrorType(ini_get('error_reporting')) .";<br>";
?>
up
0
vladvarna at gmail dot com
2 years ago
function FriendlyErrorType($type)
    {
        switch($type)
            {
            case E_ERROR: // 1 //
                return 'E_ERROR';
            case E_WARNING: // 2 //
                return 'E_WARNING';
            case E_PARSE: // 4 //
                return 'E_PARSE';
            case E_NOTICE: // 8 //
                return 'E_NOTICE';
            case E_CORE_ERROR: // 16 //
                return 'E_CORE_ERROR';
            case E_CORE_WARNING: // 32 //
                return 'E_CORE_WARNING';
            case E_CORE_ERROR: // 64 //
                return 'E_COMPILE_ERROR';
            case E_CORE_WARNING: // 128 //
                return 'E_COMPILE_WARNING';
            case E_USER_ERROR: // 256 //
                return 'E_USER_ERROR';
            case E_USER_WARNING: // 512 //
                return 'E_USER_WARNING';
            case E_USER_NOTICE: // 1024 //
                return 'E_USER_NOTICE';
            case E_STRICT: // 2048 //
                return 'E_STRICT';
            case E_RECOVERABLE_ERROR: // 4096 //
                return 'E_RECOVERABLE_ERROR';
            case E_DEPRECATED: // 8192 //
                return 'E_DEPRECATED';
            case E_USER_DEPRECATED: // 16384 //
                return 'E_USER_DEPRECATED';
            }
        return $type;
    }
up
0
frozenfire at php dot net
2 years ago
Please note that a bug exists in Xdebug versions up to at least 2.1.2 where E_USER_DEPRECATED is not supported even in PHP 5.3.0+.
up
-2
PhpMyCoder
3 years ago
Well, technically -1 will show all errors which includes any new ones included by PHP. My guess is that E_ALL will always include new error constants so I usually prefer:

<?php
error_reporting
(E_ALL | E_STRICT);
?>

Reason being: With a quick glance anyone can tell you what errors are reported. -1 might be a bit more cryptic to newer programmers.
up
-3
wolfrageweb.com
4 years ago
-1 sets the error reporting to show all to include strict. Should only be used for development servers.
To Top