gpt4 book ai didi

PHP - 记录错误

转载 作者:行者123 更新时间:2023-12-03 07:47:02 25 4
gpt4 key购买 nike

记录用户经历的错误的最佳方式是什么?

我最初的想法是创建一个函数,用唯一的编号记录错误,并可能将变量转储到数据库的记录中。

有更好的方法吗?我应该改用文本文件日志吗?

最佳答案

覆盖默认的 PHP 错误处理程序怎么样?
这个网站应该提供一些基本信息:http://www.php.net/manual/en/function.set-error-handler.php以及对 http://www.php.net/manual/en/function.set-exception-handler.php 的第一条评论

您可能还想存储数据库错误,也许是某种允许您使用代码的自定义函数,例如:

<?php
$objQueryResult = mysql_query("query here") or some_kind_of_function_here();
?>

您可能希望将记录的错误存储在公共(public) html 根文件夹之外的文件中,以确保人们不会意外访问它。
我还假设,您希望将完整的堆栈跟踪存储在这样的文件中,因为这样您就可以实际调试问题。
覆盖默认错误处理程序时,请注意不要忘记向用户发送一条好消息(并在需要时退出脚本)。

我建议存储:
  • $_POST
  • $_GET
  • 一个完整的转储
    debug_print_backtrace()
  • 可能是触发这个的 SQL?

  • 我建议您使用 debug_print_backtrace() 来确保您获得数据摘要。 debug_backtrace() 函数提供了大致相同的信息,但它有时会提供太多信息。
    可用于捕获回溯的代码:
    <?php
    ob_start();
    debug_print_backtrace();
    $trace = ob_get_contents();
    ob_end_clean();
    ?>

    要存储这个,你可以使用纯文本输出,如果你没有得到太多错误,否则可能使用类似 sqlite 的东西? - 只是不要使用相同的 SQL 连接来存储错误,因为如果您的网络服务器到 SQL 连接错误,这可能会引发更多问题。

    关于PHP - 记录错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1795526/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com