(PHP 4, PHP 5, PHP 7, PHP 8)
error_log — Sendet eine Fehlermeldung an die definierten Fehlerbehandlungsroutinen
$message
,$message_type
= 0,$destination
= null
,$additional_headers
= null
Sendet eine Fehlermeldung an das Fehlerprotokoll (Errorlog) des Webservers, oder an eine Datei.
message
Die Fehlermeldung, die protokolliert werden soll.
message_type
Sagt, wohin der Fehler gehen soll. Folgende Meldungstypen sind möglich:
0 | message wird an das Log-Subsystem von PHP gesendet, das abhängig von der Einstellung in der Konfigurationsdirektive error_log das Errorlogging des Betriebssystems verwendet oder in eine Datei schreibt. Dies ist die Standardeinstellung. |
1 | message wird via E-Mail an die Adresse gesendet, die im Parameter destination angegeben wurde. Dies ist der einzige Meldungstyp, bei dem der vierte Parameter additional_headers verwendet wird. |
2 | Diese Option ist nicht mehr verfügbar. |
3 | message wird an die Datei destination angefügt. Ein Zeilenumbruch wird nicht automatisch an das Ende des message -Strings angehängt. |
4 | message wird direkt zum SAPI-Logging-Handler gesendet. |
destination
Das Ziel. Die jeweilige Bedeutung hängt wie oben beschrieben vom Parameter message_type
ab.
additional_headers
Die zusätzlichen Kopfzeilen. Dieser Parameter wird verwendet, wenn der Parameter message_type
auf 1
gesetzt ist. Dieser Meldungstyp verwendet dieselbe interne Funktion wie mail().
Gibt bei Erfolg true
zurück. Bei einem Fehler wird false
zurückgegeben. Wenn message_type
null ist, gibt diese Funktion immer true
zurück, unabhängig davon, ob der Fehler protokolliert werden konnte oder nicht.
Version | Beschreibung |
---|---|
8.0.0 | destination und additional_headers sind jetzt nullbar. |
Beispiel #1 error_log()-Beispiele
<?php
// Sende eine Nachricht an das Serverlog, falls
// keine Verbindung zur Datenbank herstellbar ist.
if (!Ora_Logon($benutzername, $passwort)) {
error_log("Die Oracle-Datenbank ist nicht erreichbar!", 0);
}
// Benachrichtige den Administrator per E-Mail, falls kein FOO mehr verfügbar ist.
if (!($foo = allocate_new_foo())) {
error_log("Wir haben ein Problem: FOO ist alle!", 1,
"operator@example.com");
}
// Eine weitere Möglichkeit, error_log() aufzurufen:
error_log("Du hast Mist gebaut!", 3, "/var/tmp/meine-fehler.log");
?>
error_log() ist nicht binär-sicher. message
wird durch ein Null-Zeichen abgeschnitten.
message
sollte keine Null-Zeichen enthalten. Es ist zu beachten, dass message
an eine Datei, das Syslog, per Mail usw. gesendet werden kann. Geeignete Konvertierungs/Maskierungs-Funktionen, base64_encode(), rawurlencode() oder addslashes(), sind anzuwenden bevor error_log() aufgerufen wird.