Verwenden Sie die Funktion error_log () von PHP, um einfach eine Zeile in das Fehlerprotokoll des Servers einzufügen. Diese Methode sendet jedoch keine E-Mail.
Um einen Fehler auszulösen:
trigger_error("Error message here", E_USER_ERROR);
Standardmäßig wird dies in der Fehlerprotokolldatei des Servers gespeichert. Siehe die ErrorLog-Direktive für Apache. So legen Sie Ihre eigene Protokolldatei fest:
ini_set('error_log', 'path/to/log/file');
Beachten Sie, dass die von Ihnen ausgewählte Protokolldatei bereits vorhanden und vom Serverprozess beschreibbar sein muss. Der einfachste Weg, die Datei beschreibbar zu machen, besteht darin, den Serverbenutzer zum Eigentümer der Datei zu machen. (Der Serverbenutzer kann abhängig von Ihrer Betriebssystemverteilung niemand, _www, Apache oder etwas anderes sein.)
Um den Fehler per E-Mail zu senden, müssen Sie einen benutzerdefinierten Fehlerbehandler einrichten:
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);
Weitere Informationen finden Sie in der entsprechenden PHP-Dokumentation .