开发学院

您的位置:首页>教程>正文

教程正文

CodeIgniter教程:错误处理

  开发应用程序时,我们经常会遇到错误。如果错误处理不当,就会让用户非常恼火。CodeIgniter提供了一个简单的错误处理机制。

  如果您希望在应用程序处于开发模式而不是生产模式时显示消息,因为错误消息可以在开发阶段轻松解决。可以通过修改index.php文件下面给出的行。一般可以选择三个值(development, test, production)。

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

  不同的环境有不同级别的错误报告。默认情况下,开发模式将显示所有错误,测试和产品模式将隐藏它们。CodeIgniter提供如下所示的三个函数来处理错误。

show_error() 方法

  在屏幕的顶部显示HTML格式的错误。

语法

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

参数

  $message (mixed) −错误消息

  $status_code (int) − HTTP状态码

  $heading (string) − 错误页面标题

返回类型

mixed

show_404() 方法

  如果试图访问不存在的页面,则会出发404错误。

语法

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

参数

  $page (string) – URI路径

  $log_error (bool) – 是否记录错误

返回类型

  void

log_message() 方法

  函数用于记录日志消息。当您想要编写自定义消息时,这很有用。

语法

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

参数

  $level (string) −日志级别: ‘error’, ‘debug’ or ‘info’

  $message (string) − 要记录的消息

  $php_error (bool) − 是否记录了一个本地PHP错误消息

返回类型

  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.中可以找到各种错误消息模板,你可以根据需要定义它。