In diesem Block geht es um die verschiedenen Arten von Fehlern in PHP, deren Vermeidung und den richtigen Umgang mit ihnen. Fehler gehören zum Programmieren dazu, aber mit den richtigen Techniken kann man sie schnell finden und beheben. Außerdem wird gezeigt, wie man Fehler kontrolliert und dem Nutzer verständliche Meldungen ausgibt.
1. Welche Arten von Fehlern gibt es?
PHP unterscheidet verschiedene Fehlertypen:
- Syntaxfehler (Parse Error): Tritt auf, wenn die PHP-Syntax falsch ist, z. B. wenn ein Semikolon fehlt oder eine Klammer nicht geschlossen wurde. Das Skript wird nicht ausgeführt.
- Laufzeitfehler (Fatal Error): Entsteht, wenn z. B. eine nicht existierende Funktion aufgerufen wird. Das Skript bricht an dieser Stelle ab.
- Warnungen (Warning): Weist auf Probleme hin, beendet das Skript aber nicht. Beispiel: Eine Datei mit include einbinden, die nicht existiert.
- Hinweise (Notice): Kleinere Probleme, die auf unsaubere Programmierung hinweisen, aber keinen direkten Einfluss auf die Skriptausführung haben.
- Veraltete Funktionen (Deprecated): PHP weist darauf hin, dass eine verwendete Funktion in zukünftigen Versionen nicht mehr unterstützt wird.
2. Fehler vermeiden und finden
Um Fehler möglichst zu vermeiden, helfen einige bewährte Methoden:
- Saubere Code-Struktur: Gut lesbarer, sauber formatierter Code hilft, Fehler früh zu erkennen.
- Konventionen einhalten: Einheitliche Namensgebung für Variablen, Klassen und Funktionen verhindert Verwirrung.
- Testausgaben nutzen: Mit echo, print_r() oder var_dump() kann man den Zustand von Variablen überprüfen.
- Teile des Codes auskommentieren: Falls ein Fehler schwer zu finden ist, kann man Teile des Codes auskommentieren, um die fehlerhafte Stelle einzugrenzen.
- Fehlermeldungen nutzen: PHP gibt in der Regel hilfreiche Fehlermeldungen aus, die Hinweise auf das Problem geben.
3. Fehlerberichte und Fehlermeldungen unterdrücken
PHP bietet verschiedene Funktionen zur Steuerung von Fehlermeldungen:
error_reporting(E_ALL); → Zeigt alle Fehler und Warnungen an.
@ (Fehler-Kontroll-Operator) → Unterdrückt Fehlermeldungen einer einzelnen Anweisung, z. B.:
@include(„datei.php“);
Falls datei.php nicht existiert, wird keine Fehlermeldung angezeigt.
ini_set(„display_errors“, 1); → Schaltet Fehlermeldungen an oder aus.
4. Eigene Fehlerbehandlung mit trigger_error()
Manchmal ist es sinnvoll, eigene Fehler auszugeben, z. B. wenn eine Benutzereingabe ungültig ist.
Mit trigger_error() kann man eine eigene Fehlermeldung auslösen:
trigger_error(„Falsche Eingabe!“, E_USER_WARNING);
Dabei kann man den Fehlerlevel selbst wählen, z. B.:
E_USER_ERROR → Schwerwiegender Fehler, das Skript wird beendet.
E_USER_WARNING → Warnung, Skript läuft weiter.
E_USER_NOTICE → Hinweis für den Entwickler.
5. Ausnahmebehandlung mit try und catch
Neben normalen Fehlern gibt es Exceptions (Ausnahmen). Diese sind nützlich, wenn man Fehler gezielt abfangen möchte, z. B. bei Datenbankverbindungen.
Beispiel:
try { $pdo = new PDO("mysql:host=localhost;dbname=test", "user", "pass"); } catch (PDOException $e) { echo "Datenbankverbindung fehlgeschlagen: " . $e->getMessage(); }
Hier wird versucht, eine Verbindung zur Datenbank herzustellen. Falls das nicht klappt, wird der Fehler abgefangen, und das Skript kann kontrolliert weiterlaufen.
6. Fazit
Fehlermeldungen in PHP sind nicht nur störend, sondern eine wichtige Hilfe bei der Entwicklung. Dieser Block erklärt, wie man Fehlerarten unterscheidet, Fehler vermeidet, gezielt sucht und eigene Fehlerbehandlungen in PHP umsetzt. Wer diese Techniken anwendet, schreibt stabileren und sichereren Code.
Der Inhalt zu diesem Thema, in kurzen Worten beschrieben.
Datum: KW 11 + 12 – 2025
Dieser Blogbeitrag bezieht sich auf das Fernstudium Medieninformatik (interner Link ↪ zu der Übersicht Vita/Medieninformatik ILS), das ich von Mai 2023 bis Mai 2025 verfolgt habe.
Fachlektoren: Dr. Florence Maurice, Thorsten Schreiber