2009-06-12 8 views

Antwort

1

Verwenden error_reporting()

auf Produktion, deaktivieren Sie Fehler, indem Sie:

error_reporting(0); 

Bericht Laufzeitfehler auf die Entwicklung wie folgt aus:

error_reporting(E_ERROR | E_WARNING | E_PARSE); 

und berichten alle Fehler wie folgt aus:

error_reporting(E_ALL); 

Siehe den Link oben für eine vollständige Liste der report_level Konstanten mit detaillierten Beschreibungen, sowie die manuelle Seite:

http://us.php.net/manual/en/function.error-reporting.php

+0

Gibt es Unterschiede zwischen "Laufzeitfehler" und "alle Fehler"? –

+0

Diese Lösung scheint einfach, also am besten für mich. –

+0

@ Jonathanitou das ist die katastrophalste Lösung tatsächlich. –

2

Es ist am besten, alle Fehler in einer Datei zu protokollieren:

error_reporting(E_ALL | E_STRICT); 
ini_set('display_errors', 0); 
ini_set('log_errors', 1); 
ini_set('error_log', '/tmp/php_errors.log'); 

Unter Unix können Sie Fehler mit diesem Befehl überwachen:

bash$ tail -f /tmp/php_errors.log 

Oder Sie können einfach die Protokolldatei in einem Texteditor öffnen.

Diese Konfiguration kann auch auf einem Produktionsserver verwendet werden. Sie können die Datei php_errors.log regelmäßig herunterladen, um eventuelle Fehler zu finden.

+0

Muss ich das Fehlerprotokoll unter außerhalb public_html speichern? –

+0

Werden bei dieser Lösung alle Fehler protokolliert, aber nicht auf dem Monitor des Benutzers angezeigt? –

+0

"display_errors" -Funktion nur steuern, ob Anzeigefehler zu moniter? und error_reporting Funktion steuert, ob Fehler protokolliert? –