如何在PHP应用程序中收集有关错误的客户端信息?

时间:2011-09-22 22:21:25

标签: php javascript error-reporting feedback

我正在使用PHP和Yii组建一个企业应用程序。我想要一个简单的方法让用户报告问题或错误,如果一个发生但是我很难确定捕获/记录系统状态以帮助复制问题的最佳方法。

我一直在寻找一个扩展或库,它集成了所有可能不存在的东西。否则,我需要寻找一种方法来序列化DOM以供以后评估或者其他类似的方法。

因此,用户可以单击“报告错误”按钮,该按钮捕获站点的状态,并弹出一个弹出框,其中显示“发生了什么?”用户可以填写的文本框。

我有什么选择呢?

2 个答案:

答案 0 :(得分:4)

查看Airbrake(以前称为Hoptoad)及其php notifier。默认情况下,它们不保存完整的DOM代码,但我认为您可以扩展通知程序来执行此操作。

要允许用户触发报告,您可以使用ajax加上自定义异常。

他们有免费的计划,设置很容易。

enter image description here

答案 1 :(得分:1)

要获取当前页面的HTML源代码,您可以使用此Javascript代码段:

var htmlSource = document.getElementsByTagName('html')[0].innerHTML;

您可能想要保存的另一条信息当然是当前的网址。您可以使用jQuery.post将所有这些内容发送到服务器,例如

$.post("<?php echo CController::createUrl(...); ?>",
       {
           url: document.location.href,
           html: document.getElementsByTagName('html')[0].innerHTML,
       });

如果没有您可以调用的某种服务器端帮助程序,我认为您无法做到更多。您需要使用此错误报告功能完成哪项功能?