Programación

07/09/2011

PHP – Errores

More articles by »
Written by: AgeValed
Tags: , , ,

En este resumen voy a escribir sobre los el control y registro de los errores en PHP. PHP nos permite definir nuestras reglas para controlar los errores, crear errores personificados o como serán registrados/notificados.

Tipos de Errores:

Existen varios tipos de errores, por lo general se refieran a niveles de error en PHP.

Errores de Compilación:

  • Errores detectados por el IDE mientras se compila el script.
Errores Fatales:
  • Errores que detienen la ejecución del script.
Errores Recuperables:
  • Errores que representan fallas, pero se pueden manejar sin problemas.
Advertencias:
  • Errores recuperables que indican una falla en tiempo de ejecución. No detienen la ejecución del script.
Noticias:
  • Indica un error de condición, pero que no es significante. No detiene la ejecución del script.

Configuración:

Existen varias opciones en la configuración de los errores y su registro, para ello tenemos el archivo php.ini que es la que se encargará de almacenar todas estas configuraciones.

Nota: Luego de cambiar algo del archivo php.ini es necesario reiniciar el apache para que los cambios surjan efecto, sino no se tomaran estos cambios.

Nombre Predeterminado Descripción Notas
error_reporting NULL Establece el nivel de notificaciones de errores que serán mostradas.
display_errors “1” Determina si los errores serán mostrados en pantalla o se ocultaran.
display_startup_errors “0” Determina si los errores de configuración de arranque PHP serán mostrados u ocultados.
log_errors “0” Determina si los mensajes de los errores deberán registrarse en el registro de log o en error_log.
log_errors_max_len “1024” Establece la longitud máxima del archivo en bytes. 0 para no crear ninguna longitud máxima.
ignore_repeated_errors “0” Determina si serán ignorados los mensajes repetidos. Deben ocurrir en la misma linea y en el mismo archivo.
ignore_repeated_source “0” Ignorara la linea o el archivo de los archivos repetidos, por lo tanto no se registraran los errores repetidos en todos los archivos que se ejecutaran.
report_memleaks “1” Mostrará un informe de las perdidas de memorias detectadas en el gestor de memoria Zend.
track_errors “0” Si esta activo el ultimo error sera guardado en la variable $phperrormsg.
html_errors “1” Determina si se mostraran los errores de etiqueta HTML en los mensajes de error.
xmlrpc_errors “0” Desactiva las notificaciones normales y muestra los errores en formato XMLRPC.
xmlrpc_error_number “0” Usado como el valor del elemento faultCode de XML-RPC.
docref_root “” El nuevo formato de error contiene una referencia a la página describiendo el error o a la función que causa el error.
docref_ext “” VER docref_root
error_prepend_string NULL Ingresaremos un string que queremos que se imprima antes del un error.
error_append_string NULL Ingresaremos un string que queremos que se imprima después del un error.
error_log NULL Acá ingresaremos el nombre del archivo en el cual se registraran los errores por defecto.

Constantes Predefinidas:

Un listado de las constantes predefinidas para los distintos tipos de errores, son muy útiles para su reporte, podemos definir esto en nuestro archivo PHP.

Ejemplo:

error_reporting=E_ALL & ~E_NOTICE

En este caso mostraremos todos los errores, salvo las NOTICE.

E_ERROR

  • Errores fatales que detienen la ejecución del script.

E_WARNING 

  • Advertencias en tiempo de ejecución, no detienen la ejecución del script.

E_PARSE 

  • Errores de análisis en tiempo de ejecución.

E_NOTICE 

  • Avisos que se muestran en tiempo de ejecución. Indica algo que podría ser un error.

E_CORE_ERROR 

  • Errores fatales que ocurren en el arranque del core de PHP. Parecido a  E_ERROR, salvo que son generados por el núcleo de PHP.

E_CORE_WARNING 

  • Advertencias que ocurren en el arranque del core de PHP. Parecido a  E_WARNING, salvo que son generados por el núcleo de PHP.

E_COMPILE_ERROR 

  • Errores fatales en tiempo de compilación. Parecidos a E_ERROR, salvo que son generados por el Motor de Script Zend.

E_COMPILE_WARNING 

  • Advertencias en tiempo de compilación. Parecidos a E_WARNING, salvo que son generados por el Motor de Script Zend.

E_USER_ERROR 

  • Errores generados por el usuario, mediante el uso de la función trigger_error().

E_USER_WARNING 

  • Advertencias generadas por el usuario, mediante el uso de la función trigger_error() .

E_USER_NOTICE 

  • Mensajes de avisos generadas por el usuario, mediante el uso de la función trigger_error().

E_STRICT 

  • 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.

E_RECOVERABLE_ERROR 

  • Errores fatales que son recuperables.

E_DEPRECATED 

  • Avisos en tiempo de ejecución, que indicara el código que no funcionará en futuras versiones.

E_USER_DEPRECATED 

  • Avisos generados por el usuario, mediante el uso de la función trigger_error().

E_ALL 

  • Todos los errores y advertencias de PHP, excepto E_STRICT (Incluida en 5.4.0).

Se pueden combinar todos estos con los siguientes operadores ‘|’, ‘~’, ‘!’, ‘^’ y ‘&’.

Link Importante:

Listado de funciones para Manejo de errores | Link PHP.NET

Espero que les sea útil.

 

 

 

 

 



About the Author

AgeValed
Pablo Ignacio de la Vega Ibañez, también conocido en algunos lugares como AgeValed, el creador de este blog. Actualmente estoy trabajando como Líder Técnico y Supervisor de Equipo en el área de desarrollo PHP.




 
 

 
PHP

Doctrine2 – Getting Started Issues

Luego de querer instalar y hacer funcionar doctrine en nuestro querido y amado Windows, me encontré con un par de problemas, y por lo que vi en internet a varios le paso lo mismo, vamos a tomar como ejemplo el Doctrine –...
by AgeValed
1

 
 
PHP

Zend Framework – Almacenamiento de sesión en base de datos

En este mini tutorial voy a mostrarles como guardar la sesión en base de datos con ZF 1, esto es muy util para manejo de sesiones en un entorno con múltiples servidores. Material Relacionado Zend_Session_SaveHandler_DbTable Z...
by AgeValed
0

 
 

PHP Conference Argentina 2013

El 4 y 5 de Octubre se celebrará, en la Ciudad de Buenos Aires (Argentina), la PHP Conference Argentina, edición local de la conferencia PHP más popular. Esta edición no solamente está destinada a los programadores PHP, ...
by AgeValed
0

 

 

PHP 5.4.0 liberado!

Les comento que ya se encuentra la nueva versión de PHP liberada, la versión 5.4.0, luego de varios updates que se hicieron a la versión PHP 5.3 ya contamos con nuevas versión que incluye (según ellos) un gran núme...
by AgeValed
0

 
 
PHP

PHP – Funciones

Funciones en PHP, este resumen debería haberlo hecho un par de post antes, pero se me paso, así que mas vale tarde que nunca! Espero que lo sigan disfrutando y que les interese este tipo de post! Mientras alguien lo lea ya es...
by AgeValed
0

 




0 Comentarios


Be the first to comment!


Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.