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
6
A
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");
2
Parece que la función php set_error_handler
podría hacer lo que está buscando. En el primer ejemplo, puede agregar algunas inserciones de mysql para escribir sus errores en una base de datos.
Cuestiones relacionadas
- 1. php error_log no funciona
- 2. El método PHP error_log no escribe errores en mi archivo de registro de errores
- 3. PHP CLI no utiliza stderr para los errores de salida
- 4. php ocultar TODOS los errores
- 5. ¿Es segura la función PHP error_log()?
- 6. Lista de todos los posibles errores de PHP
- 7. Suprimir todos los resultados de salida, excepto errores y advertencias
- 8. Mostrando todos los nombres de tabla en php desde la base de datos MySQL
- 9. Obtener salida de la base de datos MySQL a través de PHP a XML
- 10. Sincronización en tiempo real de los datos de la base de datos en todos los clientes
- 11. Analizar todos los procedimientos almacenados en una base de datos
- 12. MySQL: Recorte todos los campos en la base de datos
- 13. Elmah filtro 404 errores de los correos electrónicos, pero ingrese a la base de datos
- 14. ¿Eliminar todos los datos de la base de datos de SQL Server y luego volver a ingresar los datos de otra base de datos?
- 15. ¿Cómo veo que la base de datos cakephp guarda errores?
- 16. Obtener todos los datos de la postulación
- 17. Buscar todos los objetos de base de datos por nombre?
- 18. El registro de errores de PHP no funciona a través de .htaccess
- 19. gestión de errores elmah - almacenar en la base de datos
- 20. No se puede conectar a la base de datos de MSSQL a través de PHP
- 21. log4net registrar todos los errores de aplicación no controladas
- 22. ¿Cómo registrar todos los errores en DB pero los errores de correo electrónico solo en base condicional?
- 23. Seguimiento de refactorizaciones en una base de datos de errores
- 24. PHP - Convertir todos los errores en excepciones - ¿Bueno o malo?
- 25. nueva línea en error_log en php
- 26. ¿Cómo actualizar una base de datos SQLite y NO perder todos los datos existentes?
- 27. Mostrando todos los errores y advertencias
- 28. OOP clase de usuario de PHP (usercake) no se agrega a la base de datos
- 29. no PHP sitio genera errores de PHP
- 30. PHP - Convierta todos los datos POST en variables de SESIÓN
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