Fehler und Warnungen während der Entwicklung innerhalb der zurückgelieferten PHP-Seite auszugeben ist sehr nützlich. Wenn ein System jedoch produktiv ist, sollte dies Ausgabe unterdrückt und in eine Logdatei geschrieben werden, um die PHP-Skripte vor neugierigen Blicken zu schützen. Der Grund hierfür ist, dass Fehlermeldungen Detailinformationen beinhalten können, die sich ein Angreifer zunutze machen könnte.
Mit Hilfe der php.ini
-Variable display_errors
lässt sich das Verschicken von Fehlern abschalten. Standardmäßig steht diese Variable auf on
. Mit Hilfe von log_errors
, welche standardmäßig auf off
steht, lassen sich Fehler in eine Datei loggen.
PHP unterstützt unterschiedliche Loglevel. Das bedeutet, einem Fehler kann eine unterschiedliche Schwere zugewiesen werden. Mit Hilfe der Variable error_reporting
kann festgelegt werden, in welcher Schwere überhaupt Fehler ausgegeben werden sollen:
E_ALL
: Alle Fehler sollen ausgegeben werden. Dies sollte in einem Entwicklungssystem ausgegeben werden.E_ALL & ~E_DEPRECATED & ~E_STRICT
: Alle Fehler außer Veraltet-Meldungen und Warnungen für striktes PHP. Für ein Produktivsystem empfehlenswert.