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+.
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.
| 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.
frozenfire at php dot net ¶
1 year ago
Andy at Azurite (co uk) ¶
2 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 :-)
PhpMyCoder ¶
2 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.
wolfrageweb.com ¶
3 years ago
-1 sets the error reporting to show all to include strict. Should only be used for development servers.
russthom at fivegulf dot com ¶
10 months 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 "";
}
?>
vladvarna at gmail dot com ¶
1 year 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;
}
Anonymous ¶
8 months 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>";
?>
