将所有 PHP 错误输出到数据库而不是 error_log

发布于 2024-09-02 20:05:04 字数 118 浏览 5 评论 0原文

是否可以将所有 PHP 错误写入 MySQL 而不是标准的 error_log 文件。我想如果我从头开始编写自己的错误处理程序,这是可能的,但我有很多遗留代码,理想情况下我只需要进行 1 个全局更改就可以了。这可以做到吗?

Is it possible to make all PHP errors be written to MySQL instead of to the standard error_log file. I guess this would be possible if i wrote my own error handler from scratch but i have a lot of legacy code in place and ideally i would just make 1 global change and that would be it. Can this be done?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

流星番茄 2024-09-09 20:05:04

我认为如果不构建自己的错误处理程序就无法完成此任务,但从技术上讲,这就是您正在寻找的一个全局更改。

手册中的修改示例:

function myErrorHandler($errno, $errstr, $errfile, $errline)
{
     // you'd have to import or set up the connection here 
     mysql_query("INSERT INTO error_log (number, string, file, line) ".
                 "VALUES .....");         

    /* Don't execute PHP internal error handler */
    return true;
}

然后

// set to the user defined error handler
$old_error_handler = set_error_handler("myErrorHandler");

I don't think it can be done without building an own error handler, but technically, that is the one global change you're looking for.

Modified example from the manual:

function myErrorHandler($errno, $errstr, $errfile, $errline)
{
     // you'd have to import or set up the connection here 
     mysql_query("INSERT INTO error_log (number, string, file, line) ".
                 "VALUES .....");         

    /* Don't execute PHP internal error handler */
    return true;
}

then

// set to the user defined error handler
$old_error_handler = set_error_handler("myErrorHandler");
拔了角的鹿 2024-09-09 20:05:04

看起来 php 函数 set_error_handler 可能会满足您的要求。在第一个示例中,您可以添加一些 mysql 插入以将错误写入数据库。

http://www.php.net/manual/en/ function.set-error-handler.php

It looks like the php function set_error_handler might do what you're looking for. In the first example you can add some mysql inserts to write your errors to a database.

http://www.php.net/manual/en/function.set-error-handler.php

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文