CodeIgniter错误处理


很多时候,在使用应用程序时,我们遇到了错误。如果错误处理不当,对用户来说非常烦人。CodeIgniter提供了一个简单的错误处理机制。

当应用程序处于开发模式而不是生产模式时,您希望显示消息,因为错误消息可以在开发阶段轻松解决。

通过从 index.php 文件中更改下面的行,可以更改应用程序的环境。这可以设置为任何东西,但通常有三个值(开发,测试,生产)用于此目的。

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

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

  • show_error() 函数在屏幕顶部显示HTML格式的错误。
句法 show_error( _$ message,$ status_code,$ heading ='遇到错误'_ )
参数
  • $ message 混合 ) - 错误消息

  • $ status_code int ) - HTTP响应状态码

  • $ heading string ) - 错误页面标题

返回类型
  • 如果您尝试访问不存在的页面, show_404() 函数会显示错误。
句法 show_404( _$ page ='',$ log_error = TRUE_ )
参数
  • $ page string ) - URI字符串

  • $ log_error bool ) - 是否记录错误

返回类型
  • log_message() 函数用于写入日志消息。当你想编写自定义消息时,这很有用。
句法 log_message( _$ level,$ message,$ php_error = FALSE_ )
参数
  • $ level string ) - 日志级别:'error','debug'或'info'

  • $ message string ) - 消息到日志

  • $ php_error bool ) - 是否记录本地PHP错误信息

返回类型 空虚

记录可以在 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中找到