首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

错误处理 | Error Handling

CodeIgniter允许您使用下面描述的函数将错误报告构建到应用程序中。此外,它还有一个错误日志类,它允许将错误和调试消息保存为文本文件。

默认情况下,CodeIgniter会显示所有PHP错误。开发完成后,您可能希望更改此行为。你会发现错误[医]Reporting%28%29函数位于主index.php文件的顶部。如果存在错误,禁用错误报告将不会阻止写入日志文件。

与CodeIgniter中的大多数系统不同,错误函数是简单的过程接口,可以在整个应用程序中全局使用。这种方法允许不需要担心类/函数的作用域就触发错误消息。

CodeIgniter还会在核心调用的一部分时返回状态代码。exit()此退出状态代码与HTTP状态代码是分开的,并可作为其他进程的通知,这些进程可能监视脚本是否成功完成,或者如果没有完成,则通知导致其中止的问题。这些值定义为application/config/constants.php虽然退出状态代码在CLI设置中最有用,但返回正确的代码可以帮助服务器软件跟踪脚本和应用程序的健康状况。

以下函数允许您生成错误:

show_error($message, $status_code, $heading = 'An Error Was Encountered')

参数:

$ message(mixed) - 错误消息$ status_code(int) - HTTP响应状态码$ heading(string) - 错误页面标题

返回类型:

void

  • $ message混合) - 错误消息
  • $ status_codeint) - HTTP响应状态码
  • $ headingstring) - 错误页面标题
代码语言:txt
复制
Return type:  void
代码语言:javascript
复制
该函数将使用适合执行的错误模板显示提供给它的错误消息:

应用程序/视图/错误/ 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_code100或更高,退出状态码将被设置为EXIT_ERROR。你可以在application / config / constants.php中查看更多细节。

show_404($page = '', $log_error = TRUE)

参数:

$ page(string) - URI字符串$ log_error(bool) - 是否记录错误

返回类型:

空虚

  • $ pagestring) - URI字符串
  • $ log_errorbool) - 是否记录错误
代码语言:txt
复制
Return type:  void
代码语言:javascript
复制
该函数将显示使用适合执行的错误模板提供给它的404错误消息:

应用程序/视图/错误/ 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(字符串) - 日志级别:'error','debug'或'info'$ message(string) - 消息到日志

返回类型:

void

  • $ levelstring) - 日志级别:'error','debug'或'info'
  • $ messagestring) - 消息到日志
代码语言:txt
复制
Return type:  void
代码语言:javascript
复制
该功能可让您将消息写入日志文件。您必须在第一个参数中提供三个“级别”之一,指出它是什么类型的消息(调试,错误,信息),并将消息本身放在第二个参数中。

例子:

如果($ some_var ==''){log_message('error','某个变量不包含值'); } else {log_message('debug','一些变量被正确设置'); } log_message('info','某个变量的目的是提供一些值。');

有三种消息类型:

  • 错误消息。这些是实际的错误,例如PHP错误或用户错误。
  • 调试消息。这些消息有助于调试。例如,如果已经初始化了类,则可以将其记录为调试信息。
  • 信息信息。这些是优先级最低的消息,只是提供了有关某个进程的信息。

为了实际写入日志文件,日志/目录必须是可写的。另外,你必须设置登录到application / config / config.php的“阈值” 。例如,您可能只想记录错误消息,而不是其他两种类型。如果您将其设置为零,则日志记录将被禁用。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com