Как я могу собрать клиентскую информацию об ошибках в моем приложении PHP? - PullRequest
4 голосов
/ 23 сентября 2011

Я собираю корпоративное приложение, используя PHP и Yii. Я хочу, чтобы пользователи могли легко сообщить о проблеме или ошибке, если она возникнет, однако мне трудно выбрать лучший способ для записи / записи состояния системы, чтобы помочь дублировать проблему.

Я искал расширение или библиотеку, которая объединяет все, но может не существовать. В противном случае мне нужно искать способ сериализации DOM для последующей оценки или какой-то другой метод, подобный этому.

Таким образом, пользователь может нажать кнопку «Сообщить об ошибке», которая фиксирует состояние сайта и вызывает всплывающее окно с «что случилось?» текстовое поле, которое пользователь может заполнить.

Какие у меня есть варианты?

Ответы [ 2 ]

4 голосов
/ 23 сентября 2011

Взгляните на Airbrake (ранее известный как Hoptoad) и его php notifier .По умолчанию они не сохраняют полный код DOM, но я думаю, что вы можете расширить уведомитель для этого.

Чтобы разрешить пользователям запускать отчеты, вы можете использовать ajax плюс пользовательское исключение.

У них есть бесплатные планы, и установка довольно проста.

enter image description here

1 голос
/ 23 сентября 2011

Чтобы получить исходный код 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,
       });

Я не думаю, что вы можете сделать больше без какого-либо серверного помощника, к которому вы можете обратиться. Какую функцию вам нужна для этой функции сообщения об ошибках?

...