PHP Error y LoggingFunciones


Introducción a PHP Error y Logging

Las funciones de Error y Logging le permiten manejar y registrar errores.

Las funciones de Error permiten a los usuarios definir reglas de manejo de errores y modificar la forma en que se registran los errores.

Las funciones de Logging permiten a los usuarios registrar aplicaciones y enviar mensajes de registro a correos electrónicos, registros del sistema u otras máquinas.


Configuración de ejecución

Las funciones de error se ven afectadas por el archivo de configuración php.ini.

Opciones de configuración de errores y registros:

Parámetro Valor predeterminado Descripción Ámbito modificable
error_reporting NULL Establece el nivel de reporte de errores de PHP y devuelve el nivel actual (número o constante). PHP_INI_ALL
display_errors "1" Esta opción establece si los mensajes de error se muestran en pantalla como parte de la salida o si se ocultan al usuario sin mostrarse.
Nota:No utilice esta característica en el entorno de producción (úsela durante el desarrollo y las pruebas).
PHP_INI_ALL
display_startup_errors "0" Incluso si display_errors está habilitado, los mensajes de error durante el inicio de PHP no se mostrarán. Se recomienda encarecidamente mantener display_startup_errors desactivado excepto para fines de depuración. PHP_INI_ALL
log_errors "0" Establece si los errores de ejecución del script deben registrarse en el registro de errores del servidor o en error_log. Tenga en cuenta que esta es una opción de configuración específica del servidor. PHP_INI_ALL
log_errors_max_len "1024" Establece el número máximo de bytes de log_errors. En error_log se agregará información sobre el origen del error. El valor predeterminado es 1024; si se establece en 0, significa que no hay límite de longitud. Este ajuste de longitud limita los errores registrados, los errores mostrados y también $php_errormsg. PHP_INI_ALL
ignore_repeated_errors "0" No registra mensajes duplicados. Los errores repetidos deben aparecer en la misma línea de código del mismo archivo, a menos que ignore_repeated_source esté establecido en true. PHP_INI_ALL
ignore_repeated_source "0" Al ignorar mensajes duplicados, también ignora el origen del mensaje. Cuando esta configuración está activada, la información duplicada no registrará si fue producida por un archivo diferente o una línea de código fuente diferente. PHP_INI_ALL
report_memleaks "1" Si este parámetro se establece en Off, la información de fugas de memoria no se mostrará (en stdout o en el registro). PHP_INI_ALL
track_errors "0" Si está habilitado, el último error siempre estará presente en la variable $php_errormsg. PHP_INI_ALL
html_errors "1" Desactiva las etiquetas HTML en los mensajes de error. PHP_INI_ALL
PHP_INI_SYSTEM in PHP <= 4.2.3.
xmlrpc_errors "0" Desactiva el informe de errores normal y establece el formato de error como el formato de mensajes de error XML-RPC. PHP_INI_SYSTEM
xmlrpc_error_number "0" Se utiliza como valor del elemento faultCode de XML-RPC. PHP_INI_ALL
docref_root "" El nuevo formato de mensaje de error incluye la página de referencia correspondiente, que describe específicamente el error o describe la función que causó el error.
Para proporcionar las páginas del manual, puede descargar el manual en el idioma correspondiente desde el sitio oficial de PHP y configurar la URL en el ini a la dirección local correspondiente.
Si su copia local del manual se puede acceder mediante "/manual/", simplemente puede establecer docref_root=/manual/.
Además, debe configurar docref_ext para que coincida con la extensión de su archivo local docref_ext=.html. Por supuesto, también puede establecer una dirección de referencia externa.
Por ejemplo, puede establecer docref_root=http://manual/en/ o docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F"
PHP_INI_ALL
docref_ext "" Ver docref_root. PHP_INI_ALL
error_prepend_string NULL Contenido a generar antes del mensaje de error. PHP_INI_ALL
error_append_string NULL Contenido a generar después del mensaje de error. PHP_INI_ALL
error_log NULL Establece el archivo en el que se registrarán los errores del script. Este archivo debe ser escribible por el usuario del servidor web. PHP_INI_ALL

Instalación

Las funciones de Error y Logging son parte del núcleo de PHP. No es necesario instalar nada para usarlas.


Funciones de PHP Error y Logging

PHP: indica la versión más antigua de PHP que admite esta función.

Funciones Descripción PHP
debug_backtrace() Genera un backtrace. 4
debug_print_backtrace() Imprime un backtrace. 5
error_get_last() Obtiene el último error ocurrido. 5
error_log() Envía un error al registro de errores del servidor, a un archivo o a un destino remoto. 4
error_reporting() Especifica qué errores se reportan. 4
restore_error_handler() Restaura el manejador de errores anterior. 4
restore_exception_handler() Restaura el manejador de excepciones anterior. 5
set_error_handler() Establece una función de manejo de errores definida por el usuario. 4
set_exception_handler() Establece una función de manejo de excepciones definida por el usuario. 5
trigger_error() Crea un mensaje de error definido por el usuario. 4
user_error() Alias de trigger_error(). 4


Constantes de PHP Error y Logging

PHP: indica la versión más antigua de PHP que admite esta constante.

Valor Constante Descripción PHP
1 E_ERROR Error fatal en tiempo de ejecución. No se puede corregir. Detiene la ejecución del script.
2 E_WARNING Error no fatal en tiempo de ejecución. No detiene la ejecución del script.
4 E_PARSE Error de análisis en tiempo de compilación. Los errores de análisis solo deben ser generados por el analizador.
8 E_NOTICE Aviso en tiempo de ejecución. El script detecta que posiblemente sea un error, pero también puede ocurrir durante la ejecución normal.
16 E_CORE_ERROR Error fatal al inicio de PHP. Es como E_ERROR del núcleo de PHP. 4
32 E_CORE_WARNING Error no fatal al inicio de PHP. Es como E_WARNING del núcleo de PHP. 4
64 E_COMPILE_ERROR Error fatal en tiempo de compilación. Es como E_ERROR generado por el motor de scripts Zend. 4
128 E_COMPILE_WARNING Error no fatal en tiempo de compilación. Es como E_WARNING generado por el motor de scripts Zend. 4
256 E_USER_ERROR Error fatal generado por el usuario. Es como E_ERROR generado por el programador usando la función PHP trigger_error(). 4
512 E_USER_WARNING Error no fatal generado por el usuario. Es como E_WARNING generado por el programador usando la función PHP trigger_error(). 4
1024 E_USER_NOTICE Aviso generado por el usuario. Es como E_NOTICE generado por el programador usando la función PHP trigger_error(). 4
2048 E_STRICT Aviso en tiempo de ejecución. PHP sugiere que modifique el código para mejorar la interoperabilidad y compatibilidad del código. 5
4096 E_RECOVERABLE_ERROR Error fatal capturable. Es como E_ERROR que puede ser capturado por un manejador definido por el usuario (ver set_error_handler()). 5
6143 E_ALL Todos los niveles de errores y advertencias, excepto E_STRICT (desde PHP 6.0, E_STRICT será parte de E_ALL). 5
Otras extensiones