PHP Error-Reporting

In den PHP-Versionen 3 und 4 war das Error-Reporting sehr simpel aufgebaut, in PHP 5 wurde darüberhinaus ein Execption Handling integriert.

Die folgenden Einstellungen sollte man kennen und verstehen:

  • error_reporting
    Diese Direktive bestimmt, welche Fehler, Warnungen und Hinweise angezeigt werden, E_ALL ist dabei die umfangreichste und von daher zu empfehlende Einstellung
  • display_errors
    Diese Direktive bestimmt, ob Fehler während der Programmausführung angezeigt werden - während der Programmierung durchaus von Vorteil, im späteren Produktionsbetrieb aber nicht zu empfehlen, um entsprechende Meldungen Benutzern (bzw. potentiellen Angreifern) nicht anzuzeigen.
  • log_errors
    Diese Direktive bestimmt, ob Fehler in eine Logdatei geschrieben werden sollen. Dies kann unter Umständen - bei vielen Fehlern auf einer Seite in Kombination mit vielen Besuchern - durchaus eine Performance-Einbusse bedeuten - das deutet dann allerdings eher auf ein grundlegendes Problem in der Programmierung hin.
  • error_log
    Diese Direktive bestimmt den Ort der Logdatei.

Üblicherweise können die Werte auch via ini_set verändert werden, so daß ein direkter Zugriff auf die php.ini nicht unbedingt notwendig ist. Im Produktionsbetrieb ist allerdings E_ALL nicht unbedingt zu empfehlen, vor allen Dingen wenn die Applikation durch weitere (ggfs. nicht E_ALL-sichere) Module erweitert werden kann, ähnliches gilt für das Thema error_logging in Shared-Hosting-Umgebungen.


Netzwerke