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
oderE_ALL
- 5.3
-1
oderE_ALL | E_STRICT
- > 5.3
-1
oderE_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:


Neueste Artikel von Bernhard Krämer (alle ansehen)
- Was Google über dich weiß… - 25. April 2019
- Deploy git-Repository auf Server (Development / Production) - 2. Dezember 2018
- Schwere Sicherheitslücke in WordPress-DSGVO-Plugin - 9. November 2018