-
error_reporting
int
-
Legt die Stufe der Fehlermeldung fest. Der Parameter ist entweder eine
Ganzzahl, die ein Bitfeld darstellt, oder eine benannte Konstante. Die
Stufen und Konstanten von error_reporting werden in
Vordefinierte Konstanten und
in der php.ini beschrieben. Mit der Funktion
error_reporting() können die Werte zur Laufzeit
festgelegt werden. Siehe auch die Direktive
display_errors.
Der Standardwert ist E_ALL
.
Vor PHP 8.0.0 war der Standardwert
E_ALL
&
~E_NOTICE
&
~E_STRICT
&
~E_DEPRECATED
.
Das bedeutet, dass Fehler der Stufen E_NOTICE
,
E_STRICT
und E_DEPRECATED
nicht angezeigt wurden.
Hinweis:
PHP-Konstanten außerhalb von PHP
Es ist nicht sinnvoll, PHP-Konstanten außerhalb von PHP, z. B. in der
httpd.conf, zu verwenden, weshalb in solchen
Fällen die int-Werte benötigt werden. Und weil im Laufe
der Zeit weitere Fehlerstufen hinzugefügt werden, wird sich der
Maximalwert (für E_ALL
) wahrscheinlich ändern. Um
also jetzt und auch in Zukunft alle Bitfelder abzudecken, sollte statt
E_ALL
ein größerer numerischer Wert wie
2147483647
(einschließlich aller Fehler, nicht nur
E_ALL
) verwendet werden.
-
display_errors
string
-
Legt fest, ob Fehlermeldungen als Teil der Ausgabe auf dem Bildschirm
ausgegeben oder vor dem Benutzer verborgen werden sollen.
Der Wert "stderr"
sendet die Fehler an
stderr
statt an stdout
.
Hinweis:
Diese Funktionalität ist für die Entwicklung gedacht und sollte niemals
auf Produktionssystemen (z. B. Systemen, die mit dem Internet verbunden
sind) verwendet werden.
Hinweis:
Obwohl display_errors zur Laufzeit gesetzt werden kann (mit
ini_set()), hat dies keine Auswirkung, wenn das
Skript fatale Fehler hat. Dies liegt daran, dass die gewünschte Aktion
zur Laufzeit nicht ausgeführt wird.
-
display_startup_errors
bool
-
Auch wenn display_errors aktiviert ist, werden Fehler, die während des
Startvorgangs von PHP auftreten, nicht angezeigt. Es wird dringend
empfohlen, display_startup_errors nur für die Fehlersuche zu aktivieren.
-
log_errors
bool
-
Legt fest, ob vom Skript verursachte Fehlermeldungen im Fehlerprotokoll
des Servers oder in error_log
protokolliert werden sollen und ist daher serverspezifisch.
Hinweis:
Es wird dringend empfohlen, auf Produktiv-Websites Fehler zu
protokollieren, anstatt sie anzuzeigen.
-
log_errors_max_len
int
-
Legt die maximale Länge von log_errors in Bytes fest. Informationen
über die Quelle werden in error_log
hinzugefügt. Der Standardwert ist 1024 und der Wert 0 bedeutet, dass die
maximale Länge überhaupt nicht angewendet wird. Diese Länge gilt für
protokollierte Fehler, angezeigte Fehler und auch für
$php_errormsg, aber nicht für explizit aufgerufene
Funktionen wie error_log().
Wird ein Wert vom Typ int
verwendet, wird dieser Wert in Bytes gemessen. Es kann auch die
Kurzschreibweise verwendet werden, wie in
dieser FAQ beschrieben.
-
ignore_repeated_errors
bool
-
Wiederholte Meldungen nicht protokollieren. Wiederholte Fehler müssen in
derselben Datei in derselben Zeile auftreten, es sei denn,
ignore_repeated_source
ist auf true gesetzt.
-
ignore_repeated_source
bool
-
Die Quelle der Meldung ignorieren, wenn wiederholte Meldungen ignoriert
werden. Wenn diese Einstellung auf On gesetzt ist, werden Fehler mit
wiederholten Meldungen aus verschiedenen Dateien oder anderen Zeilen des
Quellcodes nicht protokolliert.
-
report_memleaks
bool
-
Wenn dieser Parameter auf On gesetzt ist (die Standardeinstellung), wird
ein Bericht über Speicherlecks angezeigt, die vom Zend-Speichermanager
entdeckt wurden. Auf Posix-Plattformen wird dieser Bericht an stderr
gesendet. Unter Windows wird er mittels OutputDebugString() an den
Debugger gesendet und kann mit Tools wie
» DbgView angesehen werden. Dieser
Parameter ist nur in einem Debug-Build wirksam und nur, wenn
E_WARNING
in der Liste von error_reporting
enthalten ist.
-
track_errors
bool
-
Wenn diese Option aktiviert ist, wird die letzte Fehlermeldung immer in
der Variablen $php_errormsg abgelegt.
-
html_errors
bool
-
Wenn diese Option aktiviert ist, enthalten die Fehlermeldungen
HTML-Tags. Die HTML-Fehlermeldungen sind anklickbar und verweisen auf
die jeweilige Seite, auf der der Fehler oder die Funktion, die den
Fehler verursacht hat, beschrieben wird. Diese Verweise werden durch
docref_root und
docref_ext beeinflusst.
Ist diese Option deaktiviert, werden Fehlermeldungen nur als reiner Text
angezeigt.
-
xmlrpc_errors
bool
-
Wenn diese Option aktiviert ist, wird die normale Fehlerberichterstattung
deaktiviert und Fehler werden als XML-RPC-Fehlermeldungen formatiert.
-
xmlrpc_error_number
int
-
Wird als Wert für das XML-RPC-Element faultCode verwendet.
-
docref_root
string
-
Das neue Format für Fehlermeldungen enthält einen Verweis auf eine
Seite, die den Fehler oder die Funktion, die den Fehler verursacht hat,
beschreibt. Im Falle von Handbuchseiten kann das Handbuch in der
gewünschten Sprache heruntergeladen und diese ini-Direktive auf die URL
der lokalen Kopie gesetzt werden. Wenn die lokale Kopie des Handbuchs
beispielsweise über "/manual/"
erreichbar ist, kann
einfach docref_root=/manual/
verwendet werden.
Darüber hinaus muss die Direktive docref_ext den Dateierweiterungen der
Kopie entsprechend gesetzt werden:
docref_ext=.html
. Es ist auch möglich, externe
Verweise zu verwenden, z. B.
docref_root=http://manual/en/
oder
docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon&url=http%3A%2F%2Fwww.php.net%2F"
.
In den meisten Fällen sollte der Wert von docref_root mit einem
Schrägstrich "/"
enden. Wie das zweite Beispiel oben
zeigt, ist dies jedoch nicht zwingend notwendig.
Hinweis:
Dieses Feature ist als Hilfe bei der Entwicklung gedacht, da es das
Nachschlagen einer Funktionsbeschreibung erleichtert. Es sollte jedoch
niemals auf Produktionssystemen verwendet werden (z. B. auf Systemen,
die mit dem Internet verbunden sind).
-
docref_ext
string
-
Siehe docref_root.
Hinweis:
Der Wert von docref_ext muss mit einem Punkt "."
beginnen.
-
error_prepend_string
string
-
Eine Zeichenkette, die vor einer Fehlermeldung ausgegeben wird; wird nur
verwendet, wenn die Fehlermeldung auf dem Bildschirm angezeigt wird. Der
Hauptzweck besteht darin, der Fehlermeldung zusätzliches HTML-Markup
voranstellen zu können.
-
error_append_string
string
-
Eine Zeichenkette, die nach einer Fehlermeldung ausgegeben wird; wird nur
verwendet, wenn die Fehlermeldung auf dem Bildschirm angezeigt wird. Der
Hauptzweck besteht darin, zusätzliches HTML-Markup an die Fehlermeldung
anhängen zu können.
-
error_log
string
-
Der Name der Datei, in der Skriptfehler protokolliert werden sollen. Die
Datei muss für den Benutzer des Webservers beschreibbar sein. Wenn der
spezielle Wert syslog
verwendet wird, werden die
Fehler stattdessen an den Systemlogger gesendet. Unter Unix ist dies
syslog(3) und unter Windows das Ereignisprotokoll. Siehe auch
syslog(). Wenn diese Direktive nicht gesetzt ist,
werden Fehler an den SAPI-Fehlerlogger gesendet. Beim Apache ist das
z. B. ein Fehlerprotokoll und beim CLI ist es stderr
.
Siehe auch error_log().
-
error_log_mode
int
-
Der Dateimodus (Berechtigungen) für die in
error_log beschriebene Datei.
-
syslog.facility
string
-
Gibt an, welche Art von Programm die Meldung protokolliert; nur wirksam,
wenn error_log auf "syslog" gesetzt
ist.
-
syslog.filter
string
-
Gibt den Filtertyp an, mit dem die protokollierten Nachrichten gefiltert
werden sollen. Erlaubte Zeichen werden unverändert weitergegeben; alle
anderen werden in ihrer hexadezimalen Darstellung mit dem Präfix
\x
geschrieben.
-
all
– die protokollierte Zeichenkette wird an
Zeilenumbrüchen geteilt und alle Zeichen werden unverändert übgegeben
-
ascii
– die protokollierte Zeichenkette wird an
Zeilenumbrüchen geteilt und alle nicht druckbaren 7-Bit-ASCII-Zeichen
werden maskiert
-
no-ctrl
– die protokollierte Zeichenkette wird an
Zeilenumbrüchen aufgeteilt und alle nicht druckbaren Zeichen werden
maskiert
-
raw
– alle Zeichen werden unverändert und ohne
Zeilenumbruch an den Systemlogger übergeben (entspricht dem Verhalten
vor PHP 7.3)
Diese Einstellung ist nur relevant, wenn
error_log auf "syslog" gesetzt ist
und wenn syslog() aufgerufen wird.
Hinweis:
Der Filtertyp raw
ist seit PHP 7.3.8 und PHP 7.4.0
verfügbar.
Diese Direktive wird unter Windows nicht unterstützt.
-
syslog.ident
string
-
Gibt die Zeichenkette für die Identifizierung an, die jeder Meldung
vorangestellt wird; nur relevant, wenn
error_log auf "syslog" gesetzt ist.