Mailinglisten-Archive |
Hallo
Zu dem Thema möchte ich noch etwas nachreichen.
Da ich auf meinem Arbeitssystem sowieso das error_reporting auf E_ALL gestellt
habe und mir alle Meldungen ausgeben lasse, brauch ich hier natürlich keine
EMail-Mitteilungen.
Also hab ich das ganze so eingebunden:
Die Startdatei mit der entsprechenden Funktion:
--- schnipp --- schnapp --- cut ---
<?php
$_CFG['gEH_empfaenger'] = 'Entwickler<name at example.com>';
$_CFG['gEH_absender'] = 'Entwickler<name at example.com>';
require_once ($_PHPLIB["libdir"].'cfg_getErrorHandler.inc.php');
if ($_CFG['gEH']) {
ini_set ('error_reporting','E_ALL');
function getErrorHandler ($errno,$errmsg,$filename,$linenum) {
global $_CFG;
$error = "Zeit: " .date("Y-m-d H:i:s"). "\n";
$error .= "Meldung: " .$errmsg. "\n";
$error .= "Datei: " .$filename. "\n";
$error .= "Zeile: " .$linenum. "\n";
$error .= "Server: " .$_SERVER['SERVER_NAME']. "\n";
mail($_CFG['gEH_empfaenger'], "Skript-Fehler aufgetreten", $error, "From:
".$_CFG['gEH_absender']);
}
set_error_handler("getErrorHandler");
} else {
// wer die Server-Grundeinstellungen nochmal extra anpassen moechte,
// kann das hiermit tun
//ini_set ('error_reporting'.'E_ALL & ~E_NOTICE');
}
?>
--- schnipp --- schnapp --- cut ---
... und die Datei 'cfg_getErrorHandler.inc.php' enthält:
--- schnipp --- schnapp --- cut ---
<?php
$_CFG['gEH'] = true;
?>
--- schnipp --- schnapp --- cut ---
Erläuterung
Mit der Datei 'cfg_getErrorHandler.inc.php' kann bestimmt werden, ob bei
Fehlern eine EMail versand wird. Da ich vom Produktivserver gerne über Fehler
informiert werden möchte, steht dort der Wert $_CFG['gEH'] auf "true" und auf
meinem Arbeitsrechner eben auf "false".
Somit erspare ich mir ein lästiges "immer_dran_denken_den_Wert_zu_ändern" (-;
Den else-Zweig habe ich quasi als weitere optionale Einstellmöglichkeit
gedacht, falls ich auch mal auf einem Produktivsystem das error_reporting
anpassen muss.
--
Koala
php::bar PHP Wiki - Listenarchive