当前位置: 首页 > 面试题库 >

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

苏麒
2023-03-14
问题内容

是否可以将所有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表单,使用分配给每个用户的跟踪号码搜索我的数据库中的一个特定用户(每个用户不同的跟踪),表单应该显示我正在搜索的特定用户,但它最终显示了所有的数据库 这是php代码 这是html表单代码 我希望代码显示特定用户的所有详细信息,而不是数据库中的所有信息

  • 问题内容: 我有一个用PHP编写的页面。我无权访问服务器。我想这样做,而不是在PHP遇到错误时显示错误消息,而是给出500。 问题答案: 如果display_errors关闭,PHP 5.2默认会发送致命错误的HTTP 500。如果托管使用较旧的PHP,则必须注册自己的错误处理程序以及可能的异常处理程序,然后将用户重定向到您的500错误页面。尝试按照@Umang的建议在PHP脚本中设置displa

  • 我无法将表格发送到数据库。我已经试了一个小时来解决这个问题;我用“echo mysqli_error();”将代码打了个谜,但并没有收到任何错误,只是数据库中缺少新数据(似乎提交表单也并没有重新加载页面来发送信息)。数据库使用config.php、connectDB.php和header.php为我的其余页面工作,因此问题不在数据库设置中。我相信错误在“isset($\u POST['submit

  • 对不起,新手:/。所以当我在“输入你的年龄”中键入一封信时,我有这个问题 输入您的年龄:q 线程“main”java.util.InputMismatchException中出现异常 在java.util.scanner.throwfor(Scanner.java:909) 我想如果我打了任何一个字母,它显示“无效输入”。有人能帮我吗?[对不起,糟糕的英语]

  • 问题内容: 我有两个网站,一个是TLS,一个不是,这两个都是针对同一客户端的,但是我需要这些网站彼此(并且只能彼此)共享 用户 , 订单 , 帐户 等的通用数据。 通常可以使用数据完成此操作,但是我显然不能在其他站点上使用它们,而且我发现我可以将会话数据存储在数据库(MySQL)中,而不是文件系统中。 我已经四处搜寻,发现此有用的指南以及此较旧但 有用的指南。我还发现了该指南,该指南具有最新的My

  • 我正在尝试从我创建的一个简单的联系人表单中插入数据。我正在使用phpMyAdmin 下面是PHP(出于安全考虑,我删除了define语句,但我可以毫无问题地建立到数据库的链接。) 当有人点击论坛上的submit按钮后,代码就会运行,据我所知,这是正常工作的。 该错误发生在php代码的末尾。正在输出“SLQ Insert Statement FAILD”,但未发布mysql错误。 我的数据库/表的设