将 PHP 错误直接记录到数据库
是否可以配置 PHP 将所有错误输出到数据库,而不是依赖标准的 error_log 文件MySQL 数据库?
解决方案
虽然没有直接的方法可以在不编写自定义错误处理程序的情况下实现此目的,但它允许应用单个全局更改。创建用户定义的错误处理程序是将错误消息重定向到数据库的关键。
代码示例
下面是 PHP 手册的修改示例:
function myErrorHandler($errno, $errstr, $errfile, $errline) { $connection = ...; // Establish connection with MySQL $query = "INSERT INTO error_log (number, string, file, line) ". "VALUES ($errno, $errstr, $errfile, $errline)"; $result = mysql_query($query, $connection); return true; // Suppress PHP's internal error handling }
设置用户定义的错误处理程序:
$old_error_handler = set_error_handler("myErrorHandler");
通过实现此自定义错误处理程序,所有 PHP 错误将自动记录到指定的 MySQL 数据库中,提供集中且更有组织的管理错误的方法。
以上是PHP错误可以直接记录到MySQL数据库吗?的详细内容。更多信息请关注PHP中文网其他相关文章!