English 中文(简体)
CodeIgniter - Error Handling
  • 时间:2024-12-22

CodeIgniter - Error Handpng


Previous Page Next Page  

Many times, while using apppcation, we come across errors. It is very annoying for the users if the errors are not handled properly. CodeIgniter provides an easy error handpng mechanism.

You would pke the messages to be displayed, when the apppcation is in developing mode rather than in production mode as the error messages can be solved easily at the developing stage.

The environment of your apppcation can be changed, by changing the pne given below from index.php file. This can be set to anything but normally there are three values (development, test, production) used for this purpose.

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

Different environment will require different levels of error reporting. By default, development mode will display errors and testing and pve mode will hide them. CodeIgniter provides three functions as shown below to handle errors.

    show_error() function displays errors in HTML format at the top of the screen.

Syntax

show_error($message, $status_code, $heading = An Error Was Encountered )

Parameters

    $message (mixed) − Error message

    $status_code (int) − HTTP Response status code

    $heading (string) − Error page heading

Return Type

mixed

    show_404() function displays error if you are trying to access a page which does not exist.

Syntax

show_404($page = , $log_error = TRUE)

Parameters

    $page (string) – URI string

    $log_error (bool) – Whether to log the error

Return Type

void

    log_message() function is used to write log messages. This is useful when you want to write custom messages.

Syntax

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

Parameters

    $level (string) − Log level: ‘error’, ‘debug’ or ‘info’

    $message (string) − Message to log

    $php_error (bool) − Whether we’re logging a native PHP error message

Return Type

void

Logging can be enabled in apppcation/config/config.php file. Given below is the screenshot of config.php file, where you can set threshold value.

/*
|--------------------------------------------------------------------------------
|   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 inspanidual error types
|
|   array(2) = Debug Message, without Error Messages
| For a pve site you ll usually only enable Errors (1) to be logged otherwise 
| your log files will fill up very fast.
|
*/
$config[ log_threshold ] = 0;

You can find the log messages in apppcation/log/. Make sure that this directory is writable before you enable log files.

Various templates for error messages can be found in apppcation/views/errors/cp or apppcation/views/errors/html.

Advertisements