我正在创建一个PHP应用程序,我想显示错误发生的次数。我想弄清楚的问题是,是否已经报告了错误,或者是否使用以下值报告了新错误:
由于
答案 0 :(得分:3)
首先是错误还是例外? PHP在错误和异常之间有所不同。通常,手册的Error Handling and LoggingDocs部分可能会引起关注。
错误:
error_get_last
Docs将返回包含以下信息的最后一个错误:类型(整数),消息(字符串),文件(字符串)和行(整数)。我会说这是自我解释的。您可能还想查看set_error_handler
Docs,它将 - 在这四个信息旁边 - 还提供您可以使用的错误上下文。
如果您需要有关错误的更多信息,那么PHP debug_backtrace
Docs中的回溯也可以添加更多上下文。
例外:
每个Exception
Docs都有类似的成员:Message(字符串),Code(整数),File(字符串)和Line(整数)。它还有一个包含更多信息的Trace,可以用作上下文。也可以为嵌套异常设置先前的异常。与错误处理程序一样,也可以使用异常处理程序:set_exception_handler
Docs。
根据给出的信息,您应该能够以稍后可以分析它们的方式处理和记录所有错误/异常。除此之外,还可以使用PHP错误日志记录并将这些错误存储到数据库中。有关简单示例,请参阅Outputting all PHP errors to database not error_log
。我想说的关键是你以一种或多或少的规范化形式存储错误信息,这样你就可以在以后定义如何计算/分组它们的标准。
如果您正在寻找更多基础架构,请查看提供某些工具的apache logging services project(例如a viewer),并为其提供PHP记录器(log4php)
但这仅仅是示例性的,其他工具也存在,其中一些使用MySQL后端,你不仅可以跟踪PHP,还可以跟踪其他错误。