PHP Fehlermeldungen

Aus VMS1 Tutorial

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
Aktuelle Version (11:54, 27. Jun. 2012) (Bearbeiten) (rückgängig)
K
 
(Der Versionsvergleich bezieht 4 dazwischen liegende Versionen mit ein.)
Zeile 10: Zeile 10:
[http://www.php-error.de/ www.php-error.de]
[http://www.php-error.de/ 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 ==
 +
 +
* '''<span style="color:darkred;">E_ERROR</span>''' Fehler, Skriptausführung wird abgebrochen
 +
 +
* '''<span style="color:orangered;">E_WARNING</span>''' Warnung, Skript wird weiter ausgeführt (häufig treten dann Folgefehler auf)
 +
 +
* '''<span style="color:darkred;">E_PARSE</span>''' Syntaxfehler im PHP Code. Verarbeitung des Skriptes wird abgebrochen.
 +
 +
* '''<span style="color:darkorange;">E_NOTICE</span>''' 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]]
[[Kategorie:FAQ]]
[[Kategorie:FAQ]]
 +
[[Kategorie:PHP]]

Aktuelle Version

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