error_log
(PHP 4, PHP 5, PHP 7, PHP 8)
error_log — Sendet eine Fehlermeldung an die definierten Fehlerbehandlungsroutinen
Beschreibung
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 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 Parameterdestination
angegeben wurde. Dies ist der einzige Meldungstyp, bei dem der vierte Parameteradditional_headers
verwendet wird.2 Diese Option ist nicht mehr verfügbar. 3 message
wird an die Dateidestination
angefügt. Ein Zeilenumbruch wird nicht automatisch an das Ende desmessage
-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
auf1
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
Version | Beschreibung |
---|---|
8.0.0 |
destination 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
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.