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.