uner- oder ge-wünschte Fehlermeldungen vom Server

In PHP gibt es verschiedene Möglichkeiten das Error-Reporting einstellen.

Lokal bzw. in der Entwicklungsumgebung - insbesondere bei der Fehlersuche - ist es ggf. sinnvoll Fehler auf dem Bildschirm anzuzeigen. In der produktiven Umgebung, also auf der Homepage im Internet, sollten Fehlermeldungen nicht generell auf dem Bildschirm angezeigt werden.

 

Anpassung der Datei: php.ini

In der Entwicklungsumgebung (lokal) kann man direkt die php.ini anpassen. Dazu die php.ini mit den Editor öffnen und nach "error_reporting" suchen.

 
; Default Value: E_ALL & ~E_NOTICE
; Development Value: E_ALL | E_STRICT
; Production Value: E_ALL & ~E_DEPRECATED
; http://php.net/error-reporting
error_reporting = E_ALL 

Bedeutung:

  • Standard(Default): alle Fehler, aber keine Notice
  • Entwicklung: alle Fehler, zusätzlich dazu auch Strict-Fehler
  • Produktion: alle Fehler, aber keine Warnungen über veraltete Funktionen

Entgegen der Vorgabe in der Xampp-Beispieldatei habe ich die Ausgabe der Strict-Fehler in der Entwicklungsumgebung weggelassen, da Joomla 1-7 sonst sehr viele Fehler anzeigt.

; Default Value: On
; Development Value: On
; Production Value: Off
; http://php.net/display-errors
display_errors = On

Einstellung zur Anzeige der Fehler, d.h. wenn hier Off steht werden, unabhängig von der Einstellung oben keine Fehler angezeigt.

; Default Value: Off
; Development Value: On
; Production Value: On
; http://php.net/log-errors
log_errors = On

Das Error-Logging sollte nach Möglichkeit das Mittel der Wahl sein, denn hier wird der Besucher nicht durch "seltsame Fehlermeldungen" irritiert und der Seitenbetreiber bzw. Entwickler können trotzdem die Fehlermeldungen lesen.

Gibt es Alternativen zur Anpassung in der php.ini?

Nicht auf jedem Webspace oder Server ist es möglich bzw. sinnvoll die php.ini anzupassen. Wenn das Überschreiben der Einstellungen der php.ini erlaubt ist, können die Parameter auch über die  .htaccess angepasst werden.

 
# Keine Fehlermeldungen und Warnungen anzeigen
php_flag display_errors off

Bzw.

# Fehlermeldungen und Warnungen auf dem Bildschirm anzeigen
php_flag display_errors on
^