1 教程-内容提要
1.1 CodeIgniter3.1教程——开始
1.2 加载静态内容
1.3 读取新闻条目
1.4 创建新闻条目
2 常规主题
2.1 CodeIgniter URL
2.2 控制器
2.3 保留名称
2.4 视图
2.5 模型
2.6 辅助函数
2.7 使用 CodeIgniter 类库
2.8 创建类库
2.9 使用 CodeIgniter 驱动器
2.10 创建驱动器
2.11 创建核心系统类
2.12 创建附属类
2.13 钩子 - 扩展框架核心
2.14 自动加载资源
2.15 公共函数
2.16 兼容性函数
2.17 URI 路由
2.18 错误处理
2.19 网页缓存
2.20 程序分析
2.21 以 CLI 方式运行
2.22 管理你的应用程序
2.23 处理多环境
2.24 在视图文件中使用 PHP 替代语法
2.25 安全
2.26 PHP 开发规范
3 类库参考
3.1 基准测试类
3.2 缓存驱动器
3.3 日历类
3.4 购物车类
3.5 配置类
3.6 Email 类
3.7 加密类(废弃)
3.8 加密类(新版)
3.9 文件上传类
3.10 表单验证类
3.11 FTP 类
3.12 图像处理类
3.13 输入类
3.14 Javascript 类
3.15 语言类
3.16 加载器类
3.17 迁移类
3.18 输出类
3.19 分页类
3.20 模板解析类
3.21 安全类
3.22 Session 类
3.23 HTML 表格类
3.24 引用通告类
3.25 排版类
3.26 单元测试类
3.27 URI 类
3.28 用户代理类
3.29 XML-RPC 与 XML-RPC 服务器类
3.30 Zip 编码类
4 数据库参考
4.1 数据库快速入门: 示例代码
4.2 数据库配置
4.3 连接你的数据库
4.4 查询
4.5 生成查询结果
4.6 查询辅助函数
4.7 查询构造器类
4.8 事务
4.9 数据库元数据
4.10 自定义函数调用
4.11 查询缓存
4.12 数据库工厂类
4.13 数据库工具类
4.14 数据库驱动器参考
5 辅助函数参考
5.1 数组辅助函数
5.2 验证码辅助函数
5.3 Cookie 辅助函数
5.4 日期辅助函数
5.5 目录辅助函数
5.6 下载辅助函数
5.7 邮件辅助函数
5.8 文件辅助函数
5.9 表单辅助函数
5.10 HTML 辅助函数
5.11 Inflector 辅助函数
5.12 语言辅助函数
5.13 数字辅助函数
5.14 路径辅助函数
5.15 安全辅助函数
5.16 表情辅助函数(废弃)
5.17 字符串辅助函数
5.18 文本辅助函数
5.19 排版辅助函数
5.20 URL 辅助函数
5.21 XML 辅助函数

错误处理

2017-12-03 19:54:44
linefo
592
最后编辑:linefo 于 2017-12-03 20:48:47

错误处理

CodeIgniter 可以通过下面介绍的方法来在你的应用程序中生成错误报告。 另外,还有一个错误日志类用来将错误或调试信息保存到文本文件中。

注解

CodeIgniter 默认将显示所有的 PHP 错误,你可能在开发结束之后 改变该行为。在你的 index.php 文件的顶部有一个 error_reporting() 函数,通过它可以修改错误设置。当发生错误时,禁用错误报告 并不会阻止向日志文件写入错误信息。

和 CodeIgniter 中的大多数系统不同,错误函数是一个可以在整个应用程序中 使用的简单接口,这让你在使用该函数时不用担心类或方法的作用域的问题。

当任何一处核心代码调用 exit() 时,CodeIgniter 会返回一个状态码。 这个状态码和 HTTP 状态码不同,是用来通知其他程序 PHP 脚本是否成功运行的, 如果运行不成功,又是什么原因导致了脚本退出。状态码的值被定义在 application/config/constants.php 文件中。状态码在 CLI 形式下非常有用, 可以帮助你的服务器跟踪并监控你的脚本。

下面的函数用于生成错误信息:

show_error($message, $status_code, $heading = 'An Error Was Encountered')
参数:
  • $message (mixed) -- Error message
  • $status_code (int) -- HTTP Response status code
  • $heading (string) -- Error page heading
返回类型:

void

该函数使用下面的错误模板来显示错误信息:

application/views/errors/html/error_general.php

或:

application/views/errors/cli/error_general.php

可选参数 $status_code 将决定发送什么 HTTP 状态码。 如果 $status_code 小于 100,HTTP 状态码将被置为 500 , 退出状态码将被置为 $status_code + EXIT__AUTO_MIN 。 如果它的值大于 EXIT__AUTO_MAX 或者如果 $status_code 大于等于 100 ,退出状态码将被置为 EXIT_ERROR 。 详情可查看 application/config/constants.php 文件。

show_404($page = '', $log_error = TRUE)
参数:
  • $page (string) -- URI string
  • $log_error (bool) -- Whether to log the error
返回类型:

void

该函数使用下面的错误模板来显示 404 错误信息:

application/views/errors/html/error_404.php

或:

application/views/errors/cli/error_404.php

传递给该函数的字符串代表的是找不到的文件路径。退出状态码 将设置为 EXIT_UNKNOWN_FILE 。 注意如果找不到控制器 CodeIgniter 将自动显示 404 错误信息。

默认 CodeIgniter 会自动将 show_404() 函数调用记录到错误日志中。 将第二个参数设置为 FALSE 将跳过记录日志。

log_message($level, $message)
参数:
  • $level (string) -- Log level: 'error', 'debug' or 'info'
  • $message (string) -- Message to log
返回类型:

void

该函数用于向你的日志文件中写入信息,第一个参数你必须提供 三个信息级别中的一个,用于指定记录的是什么类型的信息(调试, 错误和一般信息),第二个参数为信息本身。

示例:

if ($some_var == '')
{
    log_message('error', 'Some variable did not contain a value.');
}
else
{
    log_message('debug', 'Some variable was correctly set');
}

log_message('info', 'The purpose of some variable is to provide some value.');

有三种信息类型:

  1. 错误信息。这些是真正的错误,例如 PHP 错误或用户错误。
  2. 调试信息。这些信息帮助你调试程序,例如,你可以在一个类 初始化的地方记录下来作为调试信息。
  3. 一般信息。这些是最低级别的信息,简单的给出程序运行过程中的一些信息。

注解

为了保证日志文件被正确写入,logs/ 目录必须设置为可写的。 此外,你必须要设置 application/config/config.php 文件中的 "threshold" 参数,举个例子,例如你只想记录错误信息,而不想 记录另外两种类型的信息,可以通过这个参数来控制。如果你将 该参数设置为 0 ,日志就相当于被禁用了。