繁体   English   中英

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

[英]Outputting all PHP errors to database not error_log

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

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

手册中的修改示例:

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");

看起来 php 函数set_error_handler可能会做你正在寻找的东西。 在第一个示例中,您可以添加一些 mysql 插入以将错误写入数据库。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM