Pour mettre simplement une ligne dans le journal des erreurs du serveur, utilisez la fonction error_log () de PHP. Cependant, cette méthode n'enverra pas d'e-mail.
Tout d'abord, pour déclencher une erreur:
trigger_error("Error message here", E_USER_ERROR);
Par défaut, cela ira dans le fichier journal des erreurs du serveur. Consultez la directive ErrorLog pour Apache. Pour définir votre propre fichier journal:
ini_set('error_log', 'path/to/log/file');
Notez que le fichier journal que vous choisissez doit déjà exister et être accessible en écriture par le processus serveur. Le moyen le plus simple de rendre le fichier accessible en écriture consiste à faire de l'utilisateur du serveur le propriétaire du fichier. (L'utilisateur du serveur peut être personne, _www, apache ou autre chose, selon la distribution de votre système d'exploitation.)
Pour envoyer l'erreur par e-mail, vous devez configurer un gestionnaire d'erreurs personnalisé:
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);
Veuillez consulter la documentation PHP correspondante pour plus d'informations.