📜  CodeIgniter-错误处理

📅  最后修改于: 2020-10-26 05:30:51             🧑  作者: Mango


很多时候,在使用应用程序时,我们会遇到错误。如果错误处理不当,对于用户来说非常烦人。 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

  • $message (mixed) − Error message

  • $status_code (int) − HTTP Response status code

  • $heading (string) − Error page heading

Return Type

mixed
  • 如果您尝试访问不存在的页面, show_404()函数显示错误。

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()函数用于写入日志消息。当您要编写自定义消息时,这很有用。

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

可以在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 / cliapplication / views / errors / html中找到各种错误消息模板。