Erste Fehlersuche in PHP | Kussin

Erste Fehlersuche in PHP


12.03.2018 | Adrienne Kalkowsky | Entwicklung

Da es in etwa so viele Fehler wie Code gibt, ist es am Anfang ein erster Schritt, zunächst eine Suchmaschine zu befragen. Dies hilft Fehler zu verstehen, später helfen meist schon die Fehlermeldungen an sich, um den Fehler zu beheben.

1. Wenn ein Fehler auftritt

Wie man es sich vorstellt, dann ist es sinnvoll, Grundlegendes zu prüfen und zwar zunächst:

  • Befinde ich mich in der richtigen Datei?
    Ein am Anfang häufig gemachter Fehler ist das duplizieren von Dateien, um keine weiteren Probleme zu verursachen und dann aber die unbearbeitete Datei aufzurufen.
  • Stimmen alle Bezeichnungen von Variablen?
    Nur bei korrekter Schreibweise wird auch die gewünschte Variable angesprochen.

2. Den Fehler eingrenzen

Wenn ein Fehler auftritt oder, noch interessanter, das Skript nicht tut, was ihr erwartet, dann grenzt den Fehler ein. Lasst euch über die Funktionen echo $varprint_r($var)var_dump($var) usw. den Inhalt der Variable ausgeben. Mit etwas Glück könnt ihr hierdurch schon den Fehler ausfindig machen und dann den Fehler beheben.

3. Exception werfen

Mit try and catch könnt ihr euch die Fehlermeldung des Compilers auf den Bildschirm holen. Dazu schreibt ihr:

try {
     // To do's

 } catch (Exception $oEexception) {
    // ERROR
    echo 'Exception abgefangen: ', $oEexception->getMessage();
 }

4. php.ini

In der php.ini könnt ihr den Debug-Modus aktivieren, um euch Fehler und mögliche Probleme anzeigen zu lassen. Diese Einstellungen gelten dann für euer gesamtes Projekt, also alle php-Dateien:

error_reporting = E_ALL & ~E_NOTICE
display_errors = Off
log_errors = On

5. Laufzeit, um Fehler in einzelnen Skripten zu finden

Über folgende Codeschnippsel am Anfang eures Skriptes werden euch Fehler angezeigt, sobald php solche erkennt:

ini_set('display_errors', '0');
ini_set('error_reporting', E_ALL);

6. PHP error.log

In der php.ini findet ihr die Definition error_log = /var/log/php-scripts.log o.ä., die euch Aufschluss gibt, wo das PHP Fehlerlog zu finden ist.

HINWEIS: So macht die Fehlersuche fast schon Spaß, aber beim Schreiben von Code trotzdem zwischendurch immer testen, um Fehler schnell eingrenzen und beheben zu können, damit es nicht zum dauerhaften Suchspiel wird.