Para simplemente poner una línea en el registro de errores del servidor, use la función error_log () de PHP. Sin embargo, ese método no enviará un correo electrónico.
Primero, para desencadenar un error:
trigger_error("Error message here", E_USER_ERROR);
De forma predeterminada, esto irá en el archivo de registro de errores del servidor. Consulte la directiva ErrorLog para Apache. Para configurar su propio archivo de registro:
ini_set('error_log', 'path/to/log/file');
Tenga en cuenta que el archivo de registro que elija ya debe existir y el proceso del servidor debe poder escribirlo. La forma más sencilla de hacer que el archivo se pueda escribir es hacer que el usuario del servidor sea el propietario del archivo. (El usuario del servidor puede ser nadie, _www, apache u otra cosa, dependiendo de la distribución de su sistema operativo).
Para enviar el error por correo electrónico, debe configurar un controlador de errores personalizado:
function mail_error($errno, $errstr, $errfile, $errline) {
$message = "[Error $errno] $errstr - Error on line $errline in file $errfile";
error_log($message); // writes the error to the log file
mail('you@yourdomain.com', 'I have an error', $message);
}
set_error_handler('mail_error', E_ALL^E_NOTICE);
Consulte la documentación de PHP correspondiente para obtener más información.