mirror of
https://github.com/php/doc-de.git
synced 2026-03-23 23:02:13 +01:00
111 lines
4.5 KiB
XML
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 & ~E_NOTICE & ~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
|
|
-->
|
|
|