CodeIgniter - 错误处理
在使用应用程序时,我们经常会遇到错误。如果错误没有得到适当处理,会让用户感到非常困扰。CodeIgniter 提供了一个简单的错误处理机制。
在开发模式下,你希望显示错误消息,而不是在生产模式下,因为在开发阶段可以轻松解决错误消息。
可以通过修改 index.php 文件中的以下行来更改应用程序的环境。此值可以设置为任意内容,但通常使用三种值(development、test、production)。
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
不同的环境需要不同级别的错误报告。默认情况下,development 模式会显示错误,而 testing 和 live 模式会隐藏它们。CodeIgniter 提供了以下三个函数来处理错误。
show_error() 函数以 HTML 格式在屏幕顶部显示错误。
语法 |
show_error($message, $status_code, $heading = 'An Error Was Encountered') |
参数 |
|
返回值 |
mixed |
show_404() 函数在尝试访问不存在的页面时显示错误。
语法 |
show_404($page = '', $log_error = TRUE) |
参数 |
|
返回值 |
void |
log_message() 函数用于写入日志消息。当你想写入自定义消息时,此函数非常有用。
语法 |
log_message($level, $message, $php_error = FALSE) |
参数 |
|
返回值 |
void |
可以在 application/config/config.php 文件中启用日志记录。以下是 config.php 文件的截图,你可以在其中设置阈值。
/* |-------------------------------------------------------------------------------- | 错误日志阈值 |-------------------------------------------------------------------------------- | 通过设置大于零的阈值可以启用错误日志记录。 | 阈值决定记录哪些内容。阈值选项如下: | | 0 = 禁用日志记录,错误日志关闭 | 1 = 错误消息(包括 PHP 错误) | 2 = 调试消息 | 3 = 信息消息 | 4 = 所有消息 | | 也可以传递包含阈值级别的数组来显示单个错误类型 | | array(2) = 调试消息,不包括错误消息 | 对于实时站点,通常只启用错误(1)记录,否则 | 日志文件会很快填满。 | */ $config['log_threshold'] = 0;
日志消息可以在 application/log/ 中找到。在启用日志文件之前,请确保该目录可写。
各种错误消息模板可以在 application/views/errors/cli 或 application/views/errors/html 中找到。