www.PHP-Kurs.com

PHP lernen für Einsteiger
und Fortgeschrittene

PHP-Tutorial mit Videos

Sie befinden sich: Startseite » Tipps und Tricks » PHP Fehlermeldungen

PHP Fehlermeldungen einschalten und anzeigen oder ausschalten

Fehlermeldungen sollen bei der Entwicklung helfen, schnell einen Fehler im Code zu finden. Allerdings möchte man im Produktivbetrieb (wenn Kunden und Besucher auf die Anwendung zugreifen) keine Fehlermeldungen erhalten, wenn ein Fehler vorliegt.

Daher kann man die Fehlerausgabe einschalten und auch abschalten bzw. die Fehlerausgabe nur in eine Datei umlenken, damit dann der Programmierer zu jedem beliebigen Augenblick überprüfen kann, ob das PHP-Programm richtig läuft oder Fehler aufgetreten sind.

Das Handling der Fehlermeldungen einstellen

Wir haben verschiedene Möglichkeiten, das Handhabung bei auftretenden Fehlern durch PHP einzustellen. Dies kann in den Dateien php.ini innerhalb des Systems bzw. im Web-Verzeichnis umgesetzt werden. Auch kann über die Datei .htaccess diese Einstellungen gemacht werden. Allerdings können alle 3 Möglichkeiten durch den Provider unterbunden werden (was oft auch geschieht). Daher ist die letzte Möglichkeit wichtig: Wir können direkt am Anfang unseres PHP-Programms einstellen, wie die Fehlerausgabe gehandhabt wird.

Dazu geben wir direkt nach dem Start unseres PHP-Programms den PHP-Befehl error_reporting(E_ALL);

<?php
// alle PHP-Fehler anzeigen
error_reporting(E_ALL);

Anstelle von E_ALL können wir auch Einschränkungen mitgeben, welche Fehler angezeigt werden sollen:

error_reporting einsetzen

// einfache Laufzeitfehler melden
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// Benachrichtigungen von E_NOTICE können sinnvoll sein 
// bei nicht initialisierte oder falsch geschriebene Variablen
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// alle Fehler mit Ausnahmen von E_NOTICE anzeigen
// Dies ist i.d.R. die Standardeinstellung in php.ini
error_reporting(E_ALL ^ E_NOTICE);

// alle PHP-Fehler melden
error_reporting(E_ALL);

// Fehlermeldungen ganz abschalten
error_reporting(0);

Im Produktivbetrieb möchte man die Fehlermeldungen nicht mehr den Besuchern zeigen, also einfach die PHP-Fehlermeldungsausgabe ausschalten über error_reporting(0);.

Fehler in Datei ausgeben über error_log()

Wir können auch die Fehler in eine Datei schreiben lassen. Dazu starten wir in PHP die Ausgabe über error_log() und geben in der Klammer den die Art und den Dateinamen (falls nicht über E-Mail versendet werden soll).

<?php
// alle PHP-Fehler anzeigen
error_reporting(E_ALL);
error_log("Fehler aufgetreten!", 3, " fehler-logfile.log");

Notice: Undefined index:

Diese „Fehlermeldung“, die hier nur eine Anmerkung ist (notice) erhält man, wenn in einem PHP-Programm bisher diese Variable noch nicht definiert wurde.

Notizen erhält man nur, wenn PHP so eingestellt ist, dass nicht nur die heftigen Fehler, sondern auch alle Anmerkungen über Unregelmäßigkeiten angezeigt werden sollen. Das erreicht man entweder in der PHP.INI oder wenn am Anfang des PHP-Scripts die angegeben wurde über:

// Damit alle Fehler angezeigt werden 
error_reporting(E_ALL); 

Dies kann schnell der Fall sein, wenn man für ein Formular abfragt, ob ein Variable gesetzt wurde.

<?php
error_reporting(E_ALL);

if ( $_POST['aktion'] == "speichern" )
{
    // und hier nun die Aktion
}
?>

Um diesen „Fehler“ in den Griff zu bekommen, da die Variable ja aus dem Formular kommt und daher noch nicht vom PHP-Programm gesetzt werden wird, kann erst auf die Existenz der Variable getestet werden und dann die Inhaltsprüfung.

<?php
error_reporting(E_ALL);

if ( isset($_POST['aktion']) AND $_POST['aktion']=="speichern" )
{
    // und hier nun die Aktion
    echo "nun speichern";
}
?>

<form name="" action="" method="POST" enctype="text/html">

<input type="text" name="aktion" value="speichern" size="20" maxlength="50">

<input type="Submit" name="" value="speichern">

</form>

Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).

Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button:



(kann angegeben werden)

Nach Absenden kommt hier Feedback! Bitte nicht doppelt absenden. Danke.

Bitte unterstützen Sie dieses Projekt

Sie können dieses Projekt in verschiedenen Formen unterstützen - wir würden uns freuen und es würde uns für weitere Inhalte motivieren :).

unsere Videos bestellen

Unsere Videos und eBooks bestellen.

Spenden

Sie können uns eine Spende über PayPal zukommen lassen.

Weiterempfehlungen

Empfehlen Sie es weiter - wir freuen uns immer über Links und Facebook-Empfehlungen.

Bücher über Amazon

Bestellen Sie Bücher über folgende Links bei Amazon:

Fehler melden

Vielen Dank für Ihre Hilfe