PHP Fehlermeldungen

Aus VMS1 Tutorial

Dies ist eine alte Version. Zeitpunkt der Bearbeitung: 11:54, 27. Jun. 2012 durch Jpwfour (Diskussion | Beiträge).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Je nach dem wie PHP konfiguriert wurde, werden Fehlermeldungen direkt ausgegeben oder in eine Datei geschrieben.

Für den produktiven Einsatz bietet sich die zweite Methode an, da der Besucher einer Website ja keinerlei Interesse an möglichen Fehlermeldungen hat (haben sollte).

Wenn einem eine Fehlermeldung mal nicht weiterhilft (da diese auf Englisch sind und manchmal etwas unverständlich), kann man auf diversen Seiten nachschlagen/nachfragen:

www.php-fehlermeldungen.de

www.user-archiv.de/php-fehlermeldungen.html

www.php-error.de

Um die genaue Ursache eines Fehlers zu finden und diesen dann auch beheben zu können, wird häufig Debugging angewendet.

Fehlerklassen

  • E_ERROR Fehler, Skriptausführung wird abgebrochen
  • E_WARNING Warnung, Skript wird weiter ausgeführt (häufig treten dann Folgefehler auf)
  • E_PARSE Syntaxfehler im PHP Code. Verarbeitung des Skriptes wird abgebrochen.
  • E_NOTICE Notiz, die auf mögliche unsaubere oder unklare Programmierung hinweist, und damit einen fehlerhaften Zustand auslösen könnte
  • E_STRICT Gibt Vorschläge, wie der Programmcode erweitert werden kann, um bestmögliche Funktionalität zu erreichen
  • E_DEPRECATED Meldet die Verwendung von veralteten Methoden, die durch Aktuelle ersetzt werden sollten, um mit nachfolgenden PHP Versionen kompatibel zu sein
  • E_ALL Umfasst alle Fehler und Warnungen

Beispiele

Warning: mysql fetch array(): supplied argument is not a valid MySQL result resource

Warning: mysql_query(): Access denied for user 'www-data'@'localhost' (using password: NO)

Warning: mysql_query(): A link to the server could not be established

Warning: vsprintf(): Too few arguments

Warning: Cannot modify header information - headers already sent

Warning: include(): Unable to access lib/functions.lib.php

Warning: include(lib/functions.lib.php): failed to open stream: No such file or directory

Warning: Invalid argument supplied for foreach()

Warning: Division by zero

Warning: fread(): Length parameter must be greater than 0

Parse error: syntax error, unexpected

Deprecated: Function ereg() is deprecated

Persönliche Werkzeuge