错误处理(Error Handling)
很多时候,在使用应用程序时,我们遇到了错误。 如果错误处理不当,对用户来说非常烦人。 CodeIgniter提供了一种简单的错误处理机制。
当应用程序处于开发模式而不是生产模式时,您希望显示消息,因为错误消息可以在开发阶段轻松解决。
通过从index.php文件更改下面给出的行,可以更改应用程序的环境。 这可以设置为任何东西,但通常有三个值(开发,测试,生产)用于此目的。
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
不同的环境需要不同级别的错误报告。 默认情况下,开发模式将显示错误,测试和实时模式将隐藏它们。 CodeIgniter提供了如下所示的三个函数来处理错误。
show_error()函数在屏幕顶部显示HTML格式的错误。
Syntax | show_error( $message, $status_code, $heading = 'An Error Was Encountered' ) |
Parameters |
|
Return Type | mixed |
如果您尝试访问不存在的页面, show_404()函数将显示错误。
Syntax | show_404( $page = '', $log_error = TRUE ) |
Parameters |
|
Return Type | void |
log_message()函数用于写入日志消息。 当您要编写自定义消息时,这非常有用。
Syntax | log_message( $level, $message, $php_error = FALSE ) |
Parameters |
|
Return Type | void |
可以在application/config/config.php文件中启用日志记录。 下面给出了config.php文件的屏幕截图,您可以在其中设置阈值。
/*
|--------------------------------------------------------------------------------
| 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;
您可以在application/log/找到日志消息。 在启用日志文件之前,请确保此目录是可写的。
可以在application/views/errors/cli或application/views/errors/html找到各种错误消息模板。