Mensajes de error en entornos de producción

¿Que por qué es importante desactivar la visualización de mensajes de error en producción? Pues para evitar situaciones como ésta:

11582-12539.jpg

Y cómo hacerlo:

  • A lo bruto: Puedes detectar mediante código si te encuentras en el entorno de producción o de desarrollo mediante, por ejemplo, una variable de servidor: $_SERVER["SERVER_NAME"]. Dependiendo de si estás o no en producción, puedes eliminar los mensajes de error con un error_reporting(0), y en cualquier caso usar un sistema de logueo o de avisos propio para informarte del problema.
  • Bien: En el fichero de configuración de PHP, php.ini, desactivamos la muestra de errores por pantalla ( display_errors = Off ), y dejamos que éstos queden reflejados en el log de errores del servidor ( log_errors = On ). De esta forma, seguiremos estando informados de cuando algo falla, y evitaremos mostrar nuestras vergüenzas a los usuarios...

Albert García Gibert

Cofounder and former CTO of @Uvinum, founder of @Obolog. Father of @soclajulia & @soclabril . I'd like to travel more and improve my guitar skills.

El Prat de Llobregat, Barcelona https://albert.garcia.gibert.es