CodeIgniter - Fehlerbehandlung

Bei der Verwendung der Anwendung treten häufig Fehler auf. Für die Benutzer ist es sehr ärgerlich, wenn die Fehler nicht richtig behandelt werden. CodeIgniter bietet einen einfachen Fehlerbehandlungsmechanismus.

Sie möchten, dass die Meldungen angezeigt werden, wenn sich die Anwendung im Entwicklungsmodus und nicht im Produktionsmodus befindet, da die Fehlermeldungen in der Entwicklungsphase problemlos behoben werden können.

Die Umgebung Ihrer Anwendung kann geändert werden, indem Sie die unten angegebene Zeile von ändern index.phpDatei. Dies kann auf alles eingestellt werden, aber normalerweise werden drei Werte (Entwicklung, Test, Produktion) für diesen Zweck verwendet.

define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');

Unterschiedliche Umgebungen erfordern unterschiedliche Ebenen der Fehlerberichterstattung. Standardmäßig werden im Entwicklungsmodus Fehler angezeigt und im Test- und Live-Modus werden diese ausgeblendet. CodeIgniter bietet drei Funktionen (siehe unten), um Fehler zu behandeln.

  • show_error() Die Funktion zeigt Fehler im HTML-Format oben auf dem Bildschirm an.

Syntax

show_error ( $ message, $ status_code, $ Heading = 'Ein Fehler wurde festgestellt' )

Parameters

  • $message( gemischt ) - Fehlermeldung

  • $status_code( int ) - HTTP-Antwortstatuscode

  • $heading( Zeichenfolge ) - Überschrift der Fehlerseite

Return Type

gemischt
  • show_404() Die Funktion zeigt einen Fehler an, wenn Sie versuchen, auf eine Seite zuzugreifen, die nicht vorhanden ist.

Syntax

show_404 ( $ page = '', $ log_error = TRUE )

Parameters

  • $page( Zeichenfolge ) - URI-Zeichenfolge

  • $log_error( bool ) - Gibt an, ob der Fehler protokolliert werden soll

Return Type

Leere
  • log_message()Funktion wird verwendet, um Protokollnachrichten zu schreiben. Dies ist nützlich, wenn Sie benutzerdefinierte Nachrichten schreiben möchten.

Syntax

log_message ( $ level, $ message, $ php_error = FALSE )

Parameters

  • $level( Zeichenfolge ) - Protokollebene: 'Fehler', 'Debug' oder 'Info'

  • $message( Zeichenfolge ) - Zu protokollierende Nachricht

  • $php_error( bool ) - Gibt an, ob eine native PHP-Fehlermeldung protokolliert wird

Return Type

Leere

Die Anmeldung kann aktiviert werden application/config/config.phpDatei. Unten sehen Sie den Screenshot der Datei config.php, in der Sie den Schwellenwert festlegen können.

/*
|--------------------------------------------------------------------------------
|   Error Logging Threshold
|--------------------------------------------------------------------------------
| You can enable error logging by setting a threshold over zero. The 
| threshold determines what gets logged. Threshold options are:
|
|   0 = Disable logging, Error logging TURNED OFF
|   1 = Error Message (including PHP errors)
|   2 = Debug Message
|   3 = Informational Messages
|   4 = All Messages
|
| You can also pass an array with threshold levels to show individual error types
|
|   array(2) = Debug Message, without Error Messages
| For a live site you'll usually only enable Errors (1) to be logged otherwise 
| your log files will fill up very fast.
|
*/
$config['log_threshold'] = 0;

Sie finden die Protokollnachrichten in application/log/. Stellen Sie sicher, dass dieses Verzeichnis beschreibbar ist, bevor Sie Protokolldateien aktivieren.

Verschiedene Vorlagen für Fehlermeldungen finden Sie in application/views/errors/cli oder application/views/errors/html.