He estado usando set_error_handler para anular el manejo predeterminado de errores de php con el único propósito de tener un registro personalizado de errores. pero he llegado a la conclusión de que uno simplemente no puede haber personalizado el registro de errores y registrar todos los errores posibles.¿el registro PHP personalizado y el registro de todos los posibles errores son mutuamente exclusivos?
1) Puede utilizar set_error_handler() - pero esta función, cita del Manual de PHP:
siguientes tipos de errores no pueden ser manejados con una función definida por el usuario: E_ERROR, E_PARSE, E_CORE_ERROR E_CORE_WARNING , E_COMPILE_ERROR, E_COMPILE_WARNING, y la mayoría de E_STRICT
por lo tanto - yendo esta ruta - su registro personalizado no tendrá estos errores registrados?
2) La segunda manera es utilizar register_shutdown_function()
y luego ejecutar error_get_last()
para obtener el error ... Pero - error_get_last()
... sólo se pone el último error ... y mientras que usted podría tener múltiples advertencias y avisos durante la ejecución del script - Este enfoque solo le permitirá registrar el error más reciente, aviso, advertencia - ¿correcto?
Así que - en mi humilde opinión - No estoy viendo ninguna forma de evitar esto. Parece que si uno quiere tener el registro de error más completo, debería simplemente quedarse con el registrador de php predeterminado, ¿no?
¿Qué quiere decir con "registro de errores personalizado"? solo un formato de registro/lugar diferente o alguna lógica más dependiendo de ello? – Laimoncijus
bien. Iba a guardarlos en la base de datos. pero todavía no he llegado a ese punto. – Stann