我在我的应用程序中使用了几个 jQuery AJAX 调用,有时在这些 AJAX 调用期间会遇到错误,例如 500 内部服务器错误。为了找出错误的根源,我登录服务器并检查错误日志,它为我提供了 PHP 错误。
我正在寻找一种在发生这些错误时获取通知的方法以及导致错误的 PHP 错误。至少是一种获得通知的方法,而不必接收用户的电子邮件,然后进入并检查日志。
我查看了本教程,但不确定如何将其集成到 AJAX 错误中:http: //net.tutsplus.com/tutorials/php/quick-tip-email-error-logs-to-yourself-with-php/而且我不确定这是否会返回 PHP 错误或仅返回 500 内部服务器错误。
非常感谢任何想法、现有服务或解决方案!这是我的 AJAX 调用之一,例如:
$.ajax ({
url: report,
cache: false,
success: function(html) {
// continue with event
},
error: function(x, status, error) {
// report error here
},
async:true
});
编辑:
这是更新的 AJAX 调用,它向 php 错误通知发出 AJAX 请求...
$.ajax ({
url: report,
success: function(html) {
// success
},
error: function(x, status, error) {
$.ajax ({
url: 'admin/error_notification.php',
type: "POST",
data:{
error: error
}
});
},
async:true
});
这很好用,但是,只报告发生了内部服务器错误,而不是导致 AJAX 错误的实际 PHP 错误。这是 PHP 错误处理文件:
$error = $_POST['error'];
$sysadmin_message = $error;
$sysadmin_to = 'email@example.com';
$sysadmin_subject = 'Error Notification';
$sysadmin_headers = "From: Site <accounts@example.com>\r\n";
$sysadmin_headers .= "MIME-Version: 1.0\r\n";
$sysadmin_headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
mail($sysadmin_to, $sysadmin_subject, $sysadmin_message, $sysadmin_headers);
显然这只会发送报告的 AJAX 错误,但是如何将实际的 PHP 错误添加到通知中呢?