【问题标题】:Configuring PHP to store errors in database配置 PHP 以在数据库中存储错误
【发布时间】:2012-02-04 09:21:48
【问题描述】:

是否可以将 php.ini 配置为在 MySQL 数据库中存储错误而不是普通的错误日志?

我看到的唯一选择是使用 php.ini 将包含自定义错误处理函数的文件附加到每个 PHP 脚本。不过,这听起来效率不高。

【问题讨论】:

  • 请注意,如果您将错误输出到 mysql 数据库并且用户遇到错误页面,他们可能会用尽可能多的数据淹没您的数据库。
  • @Frankie,它不是重复的,因为我的问题是要求一种有效的(跨系统而不是每个脚本)方式将错误日志输出到数据库,而不是在脚本中使用自定义错误处理程序本身.

标签: php


【解决方案1】:

如果您不喜欢 Frankie 在评论中提供的答案,这更像是一个服务器级别的问题。如果不使用 set_error_handler,就无法(在 PHP 中)将所有错误输出到日志文件而不是日志。

如果您使用的是 Apache,您可以执行以下操作:

CustomLog "|/path/to/custom_log_script.php [OPTIONS]"

(注意管道)

这将允许您使用自定义错误日志处理程序来控制日志文件中的内容。

【讨论】:

    【解决方案2】:

    您可以设置一个 cron 作业来执行一个 php 脚本,读取错误日志文件中的新错误并将它们存储在数据库中。虽然错误日志表不会是实时的,但我认为这应该不是太大的问题。

    【讨论】:

    • 这和我现在做的差不多。不过,我正在寻找一种使错误日志文件完全冗余的方法。我打赌应该有 PHP 扩展什么的,不过,我还没有找到类似的东西。
    猜你喜欢
    • 2011-06-26
    • 2011-08-05
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多