1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-24 07:12:15 +01:00
Files
2024-06-21 18:03:05 +02:00

627 lines
21 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 72a6f3d35e914602703b698a5d8f52732b61ed3e Maintainer: samesch Status: ready -->
<!-- Reviewed: no -->
<section xml:id="errorfunc.configuration" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>Konfigurationsoptionen für Fehler und Protokollierung</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.error-reporting">error_reporting</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.display-errors">display_errors</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.display-startup-errors">display_startup_errors</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>
Vor PHP 8.0.0 war der Standardwert <literal>"0"</literal>.
</entry>
</row>
<row>
<entry><link linkend="ini.log-errors">log_errors</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.log-errors-max-len">log_errors_max_len</link></entry>
<entry>"1024"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Seit PHP 8.0.0 wirkungslos; entfernt in PHP 8.1.0.</entry>
</row>
<row>
<entry><link linkend="ini.ignore-repeated-errors">ignore_repeated_errors</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.ignore-repeated-source">ignore_repeated_source</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.report-memleaks">report_memleaks</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.track-errors">track_errors</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Seit PHP 7.2.0 veraltet; entfernt in PHP 8.0.0.</entry>
</row>
<row>
<entry><link linkend="ini.html-errors">html_errors</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.xmlrpc-errors">xmlrpc_errors</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.xmlrpc-error-number">xmlrpc_error_number</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.docref-root">docref_root</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.docref-ext">docref_ext</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.error-prepend-string">error_prepend_string</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.error-append-string">error_append_string</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.error-log">error_log</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.error-log-mode">error_log_mode</link></entry>
<entry>0o644</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Verfügbar seit PHP 8.2.0</entry>
</row>
<row>
<entry><link linkend="ini.syslog.facility">syslog.facility</link></entry>
<entry>"LOG_USER"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Verfügbar seit PHP 7.3.0.</entry>
</row>
<row>
<entry><link linkend="ini.syslog.filter">syslog.filter</link></entry>
<entry>"no-ctrl"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Verfügbar seit PHP 7.3.0.</entry>
</row>
<row>
<entry><link linkend="ini.syslog.ident">syslog.ident</link></entry>
<entry>"php"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Verfügbar seit PHP 7.3.0.</entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.error-reporting">
<term>
<parameter>error_reporting</parameter>
<type>int</type>
</term>
<listitem>
<para>
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
<link linkend="errorfunc.constants">Vordefinierte Konstanten</link> und
in der &php.ini; beschrieben. Mit der Funktion
<function>error_reporting</function> können die Werte zur Laufzeit
festgelegt werden. Siehe auch die Direktive
<link linkend="ini.display-errors">display_errors</link>.
</para>
<para>
Der Standardwert ist <constant>E_ALL</constant>.
</para>
<para>
Vor PHP 8.0.0 war der Standardwert
<userinput><constant>E_ALL</constant> &amp;
~<constant>E_NOTICE</constant> &amp;
~<constant>E_STRICT</constant> &amp;
~<constant>E_DEPRECATED</constant></userinput>.
Das bedeutet, dass Fehler der Stufen <constant>E_NOTICE</constant>,
<constant>E_STRICT</constant> und <constant>E_DEPRECATED</constant>
nicht angezeigt wurden.
</para>
<note>
<title>PHP-Konstanten außerhalb von PHP</title>
<para>
Es ist nicht sinnvoll, PHP-Konstanten außerhalb von PHP, &zb; in der
<filename>httpd.conf</filename>, zu verwenden, weshalb in solchen
Fällen die <type>int</type>-Werte benötigt werden. Und weil im Laufe
der Zeit weitere Fehlerstufen hinzugefügt werden, wird sich der
Maximalwert (für <constant>E_ALL</constant>) wahrscheinlich ändern. Um
also jetzt und auch in Zukunft alle Bitfelder abzudecken, sollte statt
<constant>E_ALL</constant> ein größerer numerischer Wert wie
<literal>2147483647</literal> (einschließlich aller Fehler, nicht nur
<constant>E_ALL</constant>) verwendet werden.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.display-errors">
<term>
<parameter>display_errors</parameter>
<type>string</type>
</term>
<listitem>
<para>
Legt fest, ob Fehlermeldungen als Teil der Ausgabe auf dem Bildschirm
ausgegeben oder vor dem Benutzer verborgen werden sollen.
</para>
<para>
Der Wert <literal>"stderr"</literal> sendet die Fehler an
<literal>stderr</literal> statt an <literal>stdout</literal>.
</para>
<note>
<para>
Diese Funktionalität ist für die Entwicklung gedacht und sollte niemals
auf Produktionssystemen (&zb; Systemen, die mit dem Internet verbunden
sind) verwendet werden.
</para>
</note>
<note>
<para>
Obwohl display_errors zur Laufzeit gesetzt werden kann (mit
<function>ini_set</function>), hat dies keine Auswirkung, wenn das
Skript fatale Fehler hat. Dies liegt daran, dass die gewünschte Aktion
zur Laufzeit nicht ausgeführt wird.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.display-startup-errors">
<term>
<parameter>display_startup_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
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.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.log-errors">
<term>
<parameter>log_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Legt fest, ob vom Skript verursachte Fehlermeldungen im Fehlerprotokoll
des Servers oder in <link linkend="ini.error-log">error_log</link>
protokolliert werden sollen und ist daher serverspezifisch.
</para>
<note>
<para>
Es wird dringend empfohlen, auf Produktiv-Websites Fehler zu
protokollieren, anstatt sie anzuzeigen.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.log-errors-max-len">
<term>
<parameter>log_errors_max_len</parameter>
<type>int</type>
</term>
<listitem>
<para>
Legt die maximale Länge von log_errors in Bytes fest. Informationen
über die Quelle werden in <link linkend="ini.error-log">error_log</link>
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
<varname>$php_errormsg</varname>, aber nicht für explizit aufgerufene
Funktionen wie <function>error_log</function>.
</para>
&ini.shorthandbytes;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.ignore-repeated-errors">
<term>
<parameter>ignore_repeated_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Wiederholte Meldungen nicht protokollieren. Wiederholte Fehler müssen in
derselben Datei in derselben Zeile auftreten, es sei denn,
<link linkend="ini.ignore-repeated-source">ignore_repeated_source</link>
ist auf true gesetzt.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.ignore-repeated-source">
<term>
<parameter>ignore_repeated_source</parameter>
<type>bool</type>
</term>
<listitem>
<para>
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.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.report-memleaks">
<term>
<parameter>report_memleaks</parameter>
<type>bool</type>
</term>
<listitem>
<para>
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
<link xlink:href="&url.dbgview;">DbgView</link> angesehen werden. Dieser
Parameter ist nur in einem Debug-Build wirksam und nur, wenn
<constant>E_WARNING</constant> in der Liste von error_reporting
enthalten ist.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.track-errors">
<term>
<parameter>track_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Wenn diese Option aktiviert ist, wird die letzte Fehlermeldung immer in
der Variablen <varname>$php_errormsg</varname> abgelegt.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.html-errors">
<term>
<parameter>html_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
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
<link linkend="ini.docref-root">docref_root</link> und
<link linkend="ini.docref-ext">docref_ext</link> beeinflusst.
</para>
<para>
Ist diese Option deaktiviert, werden Fehlermeldungen nur als reiner Text
angezeigt.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.xmlrpc-errors">
<term>
<parameter>xmlrpc_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Wenn diese Option aktiviert ist, wird die normale Fehlerberichterstattung
deaktiviert und Fehler werden als XML-RPC-Fehlermeldungen formatiert.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.xmlrpc-error-number">
<term>
<parameter>xmlrpc_error_number</parameter>
<type>int</type>
</term>
<listitem>
<para>
Wird als Wert für das XML-RPC-Element faultCode verwendet.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.docref-root">
<term>
<parameter>docref_root</parameter>
<type>string</type>
</term>
<listitem>
<para>
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 <literal>"/manual/"</literal> erreichbar ist, kann
einfach <userinput>docref_root=/manual/</userinput> verwendet werden.
Darüber hinaus muss die Direktive docref_ext den Dateierweiterungen der
Kopie entsprechend gesetzt werden:
<userinput>docref_ext=.html</userinput>. Es ist auch möglich, externe
Verweise zu verwenden, &zb;
<userinput>docref_root=http://manual/en/</userinput> oder
<userinput>docref_root="http://landonize.it/?how=url&amp;theme=classic&amp;filter=Landon&amp;url=http%3A%2F%2Fwww.php.net%2F"</userinput>.
</para>
<para>
In den meisten Fällen sollte der Wert von docref_root mit einem
Schrägstrich <literal>"/"</literal> enden. Wie das zweite Beispiel oben
zeigt, ist dies jedoch nicht zwingend notwendig.
</para>
<note>
<para>
Dieses Feature ist als Hilfe bei der Entwicklung gedacht, da es das
Nachschlagen einer Funktionsbeschreibung erleichtert. Es sollte jedoch
niemals auf Produktionssystemen verwendet werden (&zb; auf Systemen,
die mit dem Internet verbunden sind).
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.docref-ext">
<term>
<parameter>docref_ext</parameter>
<type>string</type>
</term>
<listitem>
<para>
Siehe <link linkend="ini.docref-root">docref_root</link>.
</para>
<note>
<para>
Der Wert von docref_ext muss mit einem Punkt <literal>"."</literal>
beginnen.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.error-prepend-string">
<term>
<parameter>error_prepend_string</parameter>
<type>string</type>
</term>
<listitem>
<para>
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.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.error-append-string">
<term>
<parameter>error_append_string</parameter>
<type>string</type>
</term>
<listitem>
<para>
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.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.error-log">
<term>
<parameter>error_log</parameter>
<type>string</type>
</term>
<listitem>
<para>
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 <literal>syslog</literal> verwendet wird, werden die
Fehler stattdessen an den Systemlogger gesendet. Unter Unix ist dies
syslog(3) und unter Windows das Ereignisprotokoll. Siehe auch
<function>syslog</function>. Wenn diese Direktive nicht gesetzt ist,
werden Fehler an den SAPI-Fehlerlogger gesendet. Beim Apache ist das
&zb; ein Fehlerprotokoll und beim CLI ist es <literal>stderr</literal>.
Siehe auch <function>error_log</function>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.error-log-mode">
<term>
<parameter>error_log_mode</parameter>
<type>int</type>
</term>
<listitem>
<para>
Der Dateimodus (Berechtigungen) für die in
<link linkend="ini.error-log">error_log</link> beschriebene Datei.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.syslog.facility">
<term>
<parameter>syslog.facility</parameter>
<type>string</type>
</term>
<listitem>
<para>
Gibt an, welche Art von Programm die Meldung protokolliert; nur wirksam,
wenn <link linkend="ini.error-log">error_log</link> auf "syslog" gesetzt
ist.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.syslog.filter">
<term>
<parameter>syslog.filter</parameter>
<type>string</type>
</term>
<listitem>
<para>
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
<literal>\x</literal> geschrieben.
<itemizedlist>
<listitem>
<simpara>
<literal>all</literal> die protokollierte Zeichenkette wird an
Zeilenumbrüchen geteilt und alle Zeichen werden unverändert übgegeben
</simpara>
</listitem>
<listitem>
<simpara>
<literal>ascii</literal> die protokollierte Zeichenkette wird an
Zeilenumbrüchen geteilt und alle nicht druckbaren 7-Bit-ASCII-Zeichen
werden maskiert
</simpara>
</listitem>
<listitem>
<simpara>
<literal>no-ctrl</literal> die protokollierte Zeichenkette wird an
Zeilenumbrüchen aufgeteilt und alle nicht druckbaren Zeichen werden
maskiert
</simpara>
</listitem>
<listitem>
<simpara>
<literal>raw</literal> alle Zeichen werden unverändert und ohne
Zeilenumbruch an den Systemlogger übergeben (entspricht dem Verhalten
vor PHP 7.3)
</simpara>
</listitem>
</itemizedlist>
Diese Einstellung ist nur relevant, wenn
<link linkend="ini.error-log">error_log</link> auf "syslog" gesetzt ist
und wenn <function>syslog</function> aufgerufen wird.
</para>
<note>
<para>
Der Filtertyp <literal>raw</literal> ist seit PHP 7.3.8 und PHP 7.4.0
verfügbar.
</para>
</note>
<simpara>
Diese Direktive wird unter Windows nicht unterstützt.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.syslog.ident">
<term>
<parameter>syslog.ident</parameter>
<type>string</type>
</term>
<listitem>
<para>
Gibt die Zeichenkette für die Identifizierung an, die jeder Meldung
vorangestellt wird; nur relevant, wenn
<link linkend="ini.error-log">error_log</link> auf "syslog" gesetzt ist.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->