¿Que por qué es importante desactivar la visualización de mensajes de error en producción? Pues para evitar situaciones como ésta:
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...