2010-05-26 17 views
6

Es posible hacer que todos los errores de PHP se escriban en MySQL en lugar del archivo error_log estándar. Supongo que esto sería posible si escribo mi propio manejador de errores desde el principio, pero tengo un montón de código heredado en su lugar e idealmente solo haría 1 cambio global y eso sería todo. Se puede hacer esto?Salida de todos los errores de PHP a la base de datos no error_log

+0

Estoy 99% seguro de que no sólo puede poner algo en PHP.ini y has que suceda. Dicho esto, escribir un controlador de error personalizado le tomaría unos 5 minutos. – Erik

Respuesta

18

No creo que se puede hacer sin necesidad de construir un controlador de errores propios, pero técnicamente, que es el cambio global que busca.

ejemplo modificado de la manual:

function myErrorHandler($errno, $errstr, $errfile, $errline) 
{ 
    // you'd have to import or set up the connection here 
    mysql_query("INSERT INTO error_log (number, string, file, line) ". 
       "VALUES .....");   

    /* Don't execute PHP internal error handler */ 
    return true; 
} 

continuación

// set to the user defined error handler 
$old_error_handler = set_error_handler("myErrorHandler"); 
Cuestiones relacionadas