# error_log

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

error_log — Sendet 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
  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().

### 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

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.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open