Para simplesmente colocar uma linha no log de erros do servidor, use a função error_log () do PHP. No entanto, esse método não enviará um e-mail.
Primeiro, para acionar um erro:
trigger_error("Error message here", E_USER_ERROR);
Por padrão, isso irá para o arquivo de log de erros do servidor. Consulte a diretiva ErrorLog para Apache. Para definir seu próprio arquivo de log:
ini_set('error_log', 'path/to/log/file');
Observe que o arquivo de log escolhido já deve existir e ser gravável pelo processo do servidor. A maneira mais simples de tornar o arquivo gravável é tornar o usuário do servidor o proprietário do arquivo. (O usuário do servidor pode ser ninguém, _www, apache ou qualquer outra coisa, dependendo da distribuição do seu sistema operacional.)
Para enviar o erro por e-mail, você precisa configurar um manipulador de erros 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);
Por favor, veja a documentação PHP relevante para mais informações.