1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-23 23:02:13 +01:00
Files
archived-doc-de/language/errors/basics.xml
2021-08-25 20:35:55 +03:00

111 lines
4.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: de9c65c91ff1710d8b2d2ec955caea0162679305 Maintainer: simp Status: ready -->
<!-- Reviewed: no -->
<sect1 xml:id="language.errors.basics" xmlns="http://docbook.org/ns/docbook">
<title>Basics</title>
<para>
PHP meldet Fehler als Reaktion auf eine Reihe von internen Fehlerzuständen.
Diese können verwendet werden, um eine Reihe von verschiedenen Zuständen zu
signalisieren, und können nach Bedarf angezeigt und/oder protokolliert werden.
</para>
<para>
Jeder Fehler, den PHP erzeugt, beinhaltet einen Typ. Eine
<link linkend="errorfunc.constants">Liste dieser Fehlertypen</link> ist
verfügbar, zusammen mit einer kurzen Beschreibung ihres Verhaltens
und wie sie hervorgerufen werden können.
</para>
<sect2 xml:id="language.errors.basics.handling">
<title>Fehlerbehandlung mit PHP</title>
<para>
Wenn keine Funktion zur FehlerBehandlung bestimmt wurde, behandelt PHP
alle auftretenden Fehler gemäß seiner Konfiguration. Welche Fehler berichtet
und welche ignoriert werden wird dabei durch die Anweisung
<link linkend="ini.error-reporting"><parameter>error_reporting</parameter></link>
in der php.ini oder zur Laufzeit durch den Aufruf von
<function>error_reporting</function> kontrolliert.
Es wird dringend empfohlen, dass die Konfigurationsanweisung gesetzt werden,
da einige Fehler auftreten können, bevor die Ausführung des Skripts beginnt.
</para>
<para>
In einer Entwicklungsumgebung sollte
<link linkend="ini.error-reporting"><parameter>error_reporting</parameter></link>
immer auf den Wert <constant>E_ALL</constant> eingestellt werden, damit man
auf alle von PHP festgestellten Probleme aufmerksam gemacht wird und diese
korrigieren kann.
In einer Produktivumgebung würde man dies auf einen weniger geschwätzigen Wert
wie etwa <code>E_ALL &amp; ~E_NOTICE &amp; ~E_DEPRECATED</code>
einstellen, wobei aber in vielen Fällen <constant>E_ALL</constant> ebenfalls
angemessen ist, da es eine Frühwarnung für potentielle Probleme anbieten kann.
</para>
<para>
Wie PHP mit diesen Fehlern weiter fortfährt, hängt von zwei weiteren
Anweisungen in php.ini ab.
<link linkend="ini.display-errors"><parameter>display_errors</parameter></link>
kontrolliert, ob ein Fehler als Teil der Ausgabe des Skriptes angezeigt wird.
Dies sollte in einer Produktivumgebung immer abgestellt werden, da es
sensible Informationen wie beispielsweise Datenbankzugangsdaten beinhalten kann,
aber in Entwicklungsumgebungen ist es oft hilfreich dies einzuschalten, da es
eine sofortige Berichterstattung über Probleme sicherstellt.
</para>
<para>
Zusätzlich zum Anzeigen von Fehlern kann PHP die Fehler protokollieren,
wenn die Anweisung
<link linkend="ini.log-errors"><parameter>log_errors</parameter></link>
aktiviert ist. Damit werden alle Fehler in die Datei oder Syslog protokolliert,
welche durch die Anweisung
<link linkend="ini.error-log"><parameter>error_log</parameter></link>
eingestellt ist. Dies kann in Produktivumgebungen sehr hilfreich sein,
da damit auftretende Fehler protokolliert und daraus hilfreiche Berichte
erzeugt werden können.
</para>
</sect2>
<sect2 xml:id="language.errors.basics.user">
<title>Benutzerdefinierte Fehlerbehandlung</title>
<para>
Wenn die standardmäßige Fehlerbehandlung von PHP nicht ausreichend ist,
kann man außerdem viele Arten von Fehlern mit einer eigenen Funktion zur
Fehlerbehandlung verarbeiten, in dem man diese mittels
<function>set_error_handler</function> einrichtet.
Während manche Arten von Fehlern damit nicht verarbeitet werden können,
kann ein Skript diejenigen die behandelt werden können damit so behandeln wie
es am sinnvollsten erscheint: Beispielsweise kann dies benutzt werden, um dem
Benutzer eine angepasste Fehlerseite anzuzeigen und anschließend über den
Fehler direkter als nur durch ein Protokoll zu berichten, zum Beispiel
durch das Senden einer E-Mail.
</para>
</sect2>
</sect1>
<!-- 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
-->