提问人:Alan B. Dee 提问时间:9/23/2011 最后编辑:Shog9Alan B. Dee 更新时间:9/24/2011 访问量:509
如何收集有关 PHP 应用程序中错误的客户端信息?
How can I collect client-side information on errors in my PHP application?
问:
我正在使用 PHP 和 Yii 将一个企业应用程序放在一起。如果发生问题或错误,我希望用户能够报告问题或错误,但是我很难决定捕获/记录系统状态以帮助复制问题的最佳方法。
我一直在寻找一个集成所有内容但可能不存在的扩展或库。否则,我需要寻找一种方法来序列化 DOM 以供以后评估或其他类似方法。
因此,用户可以单击“报告错误”按钮,该按钮捕获站点的状态,并弹出一个弹出框,其中包含用户可以填写的“发生了什么?
我有哪些选择?
答:
1赞
Jon
9/23/2011
#1
要获取当前页面的 HTML 源代码,您可以使用以下 Javascript 代码段:
var htmlSource = document.getElementsByTagName('html')[0].innerHTML;
您可能想要保存的另一条信息当然是当前 URL。您可以使用 jQuery.post
将所有这些发送到服务器,例如
$.post("<?php echo CController::createUrl(...); ?>",
{
url: document.location.href,
html: document.getElementsByTagName('html')[0].innerHTML,
});
我认为如果没有某种可以调用的服务器端助手,您就无法做更多的事情。您究竟需要此错误报告功能来实现什么功能?
4赞
Fabio
9/23/2011
#2
看看 Airbrake(以前称为 Hoptoad)及其 php 通知器。默认情况下,它们不会保存完整的 DOM 代码,但我认为您可以扩展通知程序来执行此操作。
若要允许用户触发报告,可以使用 ajax 和自定义异常。
他们有免费计划,而且设置很容易。
评论