Be careful emailing errors from a custom handler, as emailing on every page view can crush your system.PHP notifica errores en respuesta a varias condiciones de error internas. Estas se pueden utilizar para señalar varias condiciones diferentes, mostrándose y/o registrándose si fuera necesario.
Cada error que genera PHP incluye un tipo. Existe una lista de dichos tipos de error, junto con una breve descripción de su comportamiento y sus posibles causas.
   Si no se establece un manejador de errores, PHP manejará cada error que ocurra
   según su configuración. Los errores que se notifican y los que se
   ignoran se controla mediante la directiva
   error_reporting
   de php.ini, o durante la ejecución llamando a
   error_reporting(). Sin embargo, se recomienda encarecidamente
   establecer la directiva de configuración, ya que algunos errores pueden ocurrir
   antes de comenzar la ejecución de un script.
  
   En un entorno de desarrollo debería establecerse siempre
   error_reporting
   a E_ALL, debido a que es necesario reconocer y corregir los
   problemas generados por PHP. En producción, se podría establecer esta directiva a
   un nivel de menor verbosidad como
   E_ALL & ~E_NOTICE & ~E_DEPRECATED, aunque
   en muchos casos E_ALL también es apropiado, ya que puede
   proporcionar advertencias precoces de problemas potenciales.
  
   Lo que PHP hace con estos errores depende de dos directivas más de php.ini.
   display_errors
   controla si el error es mostrado como parte de la salida del script. Esta
   debería estar siempre deshabilitada en un entorno de producción, ya que puede incluir
   información confidencial tal como contraseñas de bases de datos, aunque a menudo es útil
   habilitarla en desarrollo debido a que asegura la notificación inmediata de problemas.
  
   Además de mostrar errores, PHP puede registrarlos cuando la directiva
   log_errors
   está habilitada. Esta registrará cualquier error en el fichero o registro del sistema
   definido por
   error_log. Esta directiva
   puede ser extremadamente útil en un entorno de producción debido a que se pueden registrar
   los errores que ocurran y generar informes basados en ellos.
  
Si el manejo de errores predeterminado de PHP es inadecuado, también se pueden manejar muchos tipos de error con un manejador de errores propio mediante set_error_handler(). Mientras que algunos tipos de error no se pueden manejar de esta forma, aquellos que sí se pueden lo hacen de la manera en que su script vea apropiada: por ejemplo, se puede emplear para mostrar al usuario una página de error personalizada y luego notificar más directamente mediante un registro, tal como el envío de un correo electrónico.
Be careful emailing errors from a custom handler, as emailing on every page view can crush your system.