📜  CodeIgniter-错误处理(1)

📅  最后修改于: 2023-12-03 15:14:11.848000             🧑  作者: Mango

CodeIgniter 错误处理

CodeIgniter 是一款用于快速开发 Web 应用程序的 PHP 框架。在开发过程中,我们难免会遇到各种错误,本文将介绍 CodeIgniter 中的错误处理机制。

报错等级

CodeIgniter 的错误报告分为四个等级:

  1. ERROR:系统无法继续执行,需要立即处理的错误。
  2. WARNING:系统可以继续执行,但是这里有潜在的问题需要提醒开发人员。
  3. NOTICE:这里的代码可以正常执行,但是有一些不平凡的事件发生了。
  4. DEBUG:这里的代码可以正常执行,但是仅供开发时调试使用,不应该在生产环境中开启。
错误报告方式

CodeIgniter 提供了两种错误报告方式:

  1. 浏览器显示:这种方式适合开发阶段,方便开发人员快速发现问题。打开 /application/config/config.php 文件,找到以下代码:

    $config['log_threshold'] = 4;
    

    4 改为 2,保存并关闭文件,在浏览器中执行出现问题的页面,你将看到类似于下面的错误信息:

    A PHP Error was encountered
    Severity: Notice
    Message: Undefined variable: test_var
    Filename: controllers/Welcome.php
    Line Number: 15
    Backtrace:
    File: D:\WWW\ci\application\controllers\Welcome.php
    Line: 15
    Function: _error_handler
    
    File: D:\WWW\ci\index.php
    Line: 315
    Function: require_once
    
  2. 错误日志文件:这种方式适合在生产环境中使用,避免在用户面前显示错误信息。同样是在 /application/config/config.php 文件中,修改以下代码:

    $config['log_threshold'] = 1;
    $config['log_path'] = '/path/to/writable/directory';
    

    $config['log_threshold'] 改为 1,并设置 $config['log_path'] 为可写目录。

    之后,在浏览器中执行出现问题的页面时,仍然会看到类似于下面的错误信息,但是错误信息将被写入到 /path/to/writable/directory 目录下的日志文件中。

自定义错误页

CodeIgniter 允许我们自定义错误页。只需要在 /application/views/errors/ 目录中新建对应错误码的视图文件即可。例如,新建 error_404.php 文件,访问不存在的页面时即可看到自定义的 404 页面。

错误日志

CodeIgniter 还提供了一个日志类(Log Class),可以用来记录系统事件、错误信息等。使用方法如下:

  1. 加载日志类:

    $this->load->library('log');
    
  2. 记录日志:

    $this->log->write_log('error', 'Some variable did not contain a valid value.');
    

    这条语句将错误日志记录到默认的日志文件中。

以上就是 CodeIgniter 的错误处理机制,一个好的错误处理机制不仅可以提高开发效率,也可以让用户获得更好的使用体验。