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)
- Terrform AWS Fehler: „Error: collecting instance settings: UnauthorizedOperation: You are not authorized to perform this operation.“ - 3. August 2023
- Terraform AWS Fehler „Error: reading EC2 Instance (…): reading block devices: UnauthorizedOperation: You are not authorized to perform this operation. - 3. August 2023
- Was Google über dich weiß… - 25. April 2019