- 欢迎使用 CodeIgniter
- 安装说明
- 下载 CodeIgniter
- 从老版本升级
- 疑难解答
- CodeIgniter 概览
- CodeIgniter 将从这里开始
- CodeIgniter 概览
- CodeIgniter 特性
- 应用程序流程图
- 模型-视图-控制器
- 设计与架构目标
- 教程 - 内容提要
- 加载静态内容
- 读取新闻条目
- 创建新闻条目
- 结束语
- 向 CodeIgniter 贡献你的力量
- 编写 CodeIgniter 的文档
- Developer's Certificate of Origin 1.1
- CodeIgniter URL
- 控制器
- 保留名称
- 视图
- 模型
- 辅助函数
- 使用 CodeIgniter 类库
- 创建类库
- 使用 CodeIgniter 驱动器
- 创建驱动器
- 创建核心系统类
- 创建附属类
- 钩子 - 扩展框架核心
- 自动加载资源
- 公共函数
- 兼容性函数
- URI 路由
- 错误处理
- 网页缓存
- 程序分析
- 以 CLI 方式运行
- 管理你的应用程序
- 处理多环境
- 在视图文件中使用 PHP 替代语法
- 安全
- PHP 开发规范
- 基准测试类
- 缓存驱动器
- 日历类
- 购物车类
- 配置类
- Email 类
- 加密类
- 加密类(新版)
- 文件上传类
- 表单验证类
- FTP 类
- 图像处理类
- 输入类
- Javascript 类
- 语言类
- 加载器类
- 迁移类
- 输出类
- 分页类
- 模板解析类
- 安全类
- Session 类
- HTML 表格类
- 引用通告类
- 排版类
- 单元测试类
- URI 类
- 用户代理类
- XML-RPC 与 XML-RPC 服务器类
- Zip 编码类
- 数据库参考
- 数据库快速入门: 示例代码
- 数据库配置
- 连接你的数据库
- 查询
- 生成查询结果
- 查询辅助函数
- 查询构造器类
- 事务
- 数据库元数据
- 自定义函数调用
- 数据库缓存类
- 数据库工厂类
- 数据库工具类
- 数据库驱动器参考
- 数组辅助函数
- 验证码辅助函数
- Cookie 辅助函数
- 日期辅助函数
- 目录辅助函数
- 下载辅助函数
- 邮件辅助函数
- 文件辅助函数
- 表单辅助函数
- HTML 辅助函数
- Inflector 辅助函数
- 语言辅助函数
- 数字辅助函数
- 路径辅助函数
- 安全辅助函数
- 表情辅助函数
- 字符串辅助函数
- 文本辅助函数
- 排版辅助函数
- URL 辅助函数
- XML 辅助函数
- The MIT License (MIT)
- 服务器要求
- 关于 CodeIgniter
错误处理
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.');
有三种信息类型:
- 错误信息。这些是真正的错误,例如 PHP 错误或用户错误。
- 调试信息。这些信息帮助你调试程序,例如,你可以在一个类 初始化的地方记录下来作为调试信息。
- 一般信息。这些是最低级别的信息,简单的给出程序运行过程中的一些信息。
注解
为了保证日志文件被正确写入,logs/ 目录必须设置为可写的。 此外,你必须要设置 application/config/config.php 文件中的 "threshold" 参数,举个例子,例如你只想记录错误信息,而不想 记录另外两种类型的信息,可以通过这个参数来控制。如果你将 该参数设置为 0 ,日志就相当于被禁用了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论