Während der Entwicklung sollte man die php.ini so konfigurieren, dass alle Fehler angezeigt werden. Nur so kann man sicher sein, sauber zu programmieren und verhindern, dass die Applikation auf anderen System Fehler auswirft. Auf produktiven Systemen sollte Fehler jeglicher Art aber deaktiviert und statt dessen in die Error-Logs geschrieben werden.

Entwicklung

Um jeden möglichen Fehler während der Entwicklung anzuzeigen, wird die php.ini wie folgt konfiguriert:

display_errors = On
display_startup_errors = On
error_reporting = -1
log_errors = On

Mit dem Wert -1 wird jeder mögliche Fehler auch in zukünftigen Versionen von PHP angezeigt. Die Konstante E_ALL verhält sich seit PHP 5.4 auch so.php.net

Der Errorlevel E_STRICT wurde mit PHP 5.3.0 eingeführt und ist nicht Teil von E_ALL, wurde aber Teil von E_ALL in 5.4.0. Was bedeutet das? In Bezug auf Fehlermeldungen muss in Verion 5.3 entweder -1 oder E_ALL | E_STRICT verwendet werden.

Jeden Fehler melden ja nach PHP-Version

  • < 5.3 -1 oder E_ALL
  •   5.3 -1 oder E_ALL | E_STRICT
  • > 5.3 -1 oder E_ALL

Produktion

Um keinen Fehler im Produktivsystem anzuzeigen, konfiguriere folgende Einstellung in deiner php.ini:

display_errors = Off
display_startup_errors = Off
error_reporting = E_ALL
log_errors = On

Mit diesen Einstellungen im Produktivsystem werden Fehler immer noch in den Error Logs des Webservers eingetragen, aber dem Benutzer nicht angezeigt. Weitere Informationen zu diesen Einstellungen findet man im PHP-Handbuch:

Könnte Sie ebenfalls interessieren

The following two tabs change content below.
Bernhard Krämer
entwickelt Webseiten und Webanwendungen vorwiegend auf Basis von PHP/MySQL und führt für Unternehmen Security-Awareness-Kampagnen durch. In diesem Blog schreibt er über diverse Themen rund um Webentwicklung, das Internet und dessen sichere Anwendung.