validar usuarios usuario usando sistema sesiones seguro registro para múltiples datos control contraseña con completo codigo avanzado autentificación autenticación administrador php

usuarios - sistema de login php y mysql avanzado



¿Cómo consigo PHP para registrar un seguimiento de pila en caso de error fatal? (2)

He configurado php para registrar errores y en mi máquina de desarrollo, aparecen en los registros de errores de apache como:

[Thu Mar 17 18:22:07 2011] [error] [client ::1] PHP Parse error: syntax error, unexpected '')'' in /Users/troelskn/Projects/test/bootstrap.inc.php on line 27 [Thu Mar 17 18:22:07 2011] [error] [client ::1] PHP Stack trace: [Thu Mar 17 18:22:07 2011] [error] [client ::1] PHP 1. {main}() /Users/troelskn/Projects/test/public/index.php:0

Sin embargo, en las máquinas de producción (Ubuntu) no hay pila de seguimiento después del error y hay una referencia adjunta al mensaje. P.ej. se vería como

[Thu Mar 17 18:22:07 2011] [error] [client ::1] PHP Parse error: syntax error, unexpected '')'' in /Users/troelskn/Projects/test/bootstrap.inc.php on line 27, referer: http://localhost/

¿Cómo puedo controlar este formato? Me gustaría mucho tener el seguimiento de pila disponible en los registros.


Bueno, como ya se ha señalado, no está obteniendo el mismo formato en la máquina en vivo porque la máquina en vivo no tiene instalado xdebug. Hay debug_backtrace pero eso no detectaría un error fatal.

Podría instalar xdebug en el servidor en vivo, pero tendría que tener mucho cuidado de configurarlo para no exponer ninguna funcionalidad, excepto el registro de seguimiento de la pila. El uso incauto de xdebug en una caja en vivo puede suponer un riesgo para la seguridad, ya que las personas podrían iniciar una sesión de depuración remota, o sus mensajes de error mejorados podrían sin darse cuenta de los detalles internos de su código.

¿Sinceramente? Creo que su mejor opción es intentar recrear las circunstancias en las que ocurrió el error que registró el servidor activo en su servidor de prueba.

EDITAR PARA AGREGAR : olvidó mencionar que además de ser un riesgo de seguridad, xDebug también tendrá un impacto negativo en el rendimiento de su sitio web. Se enlaza con Zend Engine en varias formas cruciales para registrar el estado del programa y alterar su comportamiento (como anular @ supresión de errores), y esto tendrá un impacto inevitable en el rendimiento. Básicamente, es mucho mejor intentar replicar el problema en un entorno de prueba que agregar herramientas de depuración a un entorno activo.