error_log

(PHP 4, PHP 5, PHP 7, PHP 8)

error_logSendet eine Fehlermeldung an die definierten Fehlerbehandlungsroutinen

Beschreibung

error_log(
    string$message,
    int$message_type = 0,
    ?string$destination = null,
    ?string$additional_headers = null
): bool

Sendet eine Fehlermeldung an das Fehlerprotokoll (Errorlog) des Webservers, oder an eine Datei.

Parameter-Liste

message

Die Fehlermeldung, die protokolliert werden soll.

message_type

Sagt, wohin der Fehler gehen soll. Folgende Meldungstypen sind möglich:

error_log()-Protokolltypen
0message 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.
1message 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.
3message wird an die Datei destination angefügt. Ein Zeilenumbruch wird nicht automatisch an das Ende des message-Strings angehängt.
4message 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().

Rückgabewerte

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.

Changelog

VersionBeschreibung
8.0.0destination und additional_headers sind jetzt nullbar.

Beispiele

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");
?>

Anmerkungen

Warnung

error_log() ist nicht binär-sicher. message wird durch ein Null-Zeichen abgeschnitten.

Tipp

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.

To Top