Aby po prostu umieścić linię w dzienniku błędów serwera, użyj funkcji PHP error_log (). Jednak ta metoda nie spowoduje wysłania wiadomości e-mail.
Po pierwsze, aby wywołać błąd:
trigger_error("Error message here", E_USER_ERROR);
Domyślnie zostanie to zapisane w pliku dziennika błędów serwera. Zobacz dyrektywę ErrorLog dla Apache. Aby ustawić własny plik dziennika:
ini_set('error_log', 'path/to/log/file');
Zwróć uwagę, że wybrany plik dziennika musi już istnieć i umożliwiać zapisywanie przez proces serwera. Najprostszym sposobem udostępnienia pliku do zapisu jest uczynienie użytkownika serwera właścicielem pliku. (Użytkownikiem serwera może być nikt, _www, apache lub coś innego, w zależności od dystrybucji systemu operacyjnego).
Aby wysłać błąd e-mailem, musisz skonfigurować niestandardową procedurę obsługi błędów:
function mail_error($errno, $errstr, $errfile, $errline) {
$message = "[Error $errno] $errstr - Error on line $errline in file $errfile";
error_log($message);
mail('you@yourdomain.com', 'I have an error', $message);
}
set_error_handler('mail_error', E_ALL^E_NOTICE);
Więcej informacji można znaleźć w odpowiedniej dokumentacji PHP .