我正在啓動一個新項目(php),我們期待很多用戶。通常情況下,如果人們發現一些錯誤,他們會通過電子郵件發送郵件,或者他們會在特定的頁面中寫入。用戶級錯誤跟蹤
但有沒有可能以某種方式自動讓我們的開發人員知道(無論是通過郵件還是小型自定義應用程序),何時用戶無法找到工作或打到404頁面,哪裏出錯,什麼設備瀏覽器和平臺)用戶使用?
如果是這樣,我們可以查看列表並快速找到我們網站中最有問題的部分,並在我們的用戶非常惱火之前解決這些問題,以便他們寫信給我們。
我正在啓動一個新項目(php),我們期待很多用戶。通常情況下,如果人們發現一些錯誤,他們會通過電子郵件發送郵件,或者他們會在特定的頁面中寫入。用戶級錯誤跟蹤
但有沒有可能以某種方式自動讓我們的開發人員知道(無論是通過郵件還是小型自定義應用程序),何時用戶無法找到工作或打到404頁面,哪裏出錯,什麼設備瀏覽器和平臺)用戶使用?
如果是這樣,我們可以查看列表並快速找到我們網站中最有問題的部分,並在我們的用戶非常惱火之前解決這些問題,以便他們寫信給我們。
是的,你可以做this.There很多方法,但我向您展示一個非常簡單的方法來做到這一點,
你需要創建一個自定義錯誤自定義錯誤處理程序。在這方面,你可以處理所有的錯誤,包括他們的電子郵件和登錄
<?php
function errorHandler($errno, $errstr, $errfile, $errline) {
static $db;
if (empty($db)) {
$db = new PDO(DSN, DBUSER, DBPASS);
}
$query = "INSERT INTO errorlog (severity, message, filename, lineno, time) VALUES (?, ?, ?, ?, NOW())";
$stmt = $db->prepare($query);
switch ($errno) {
case E_NOTICE:
case E_USER_NOTICE:
case E_DEPRECATED:
case E_USER_DEPRECATED:
case E_STRICT:
$stmt->execute(array("NOTICE", $errstr, $errfile, $errline));
break;
case E_WARNING:
case E_USER_WARNING:
$stmt->execute(array("WARNING", $errstr, $errfile, $errline));
break;
case E_ERROR:
case E_USER_ERROR:
$stmt->execute(array("FATAL", $errstr, $errfile, $errline));
exit("FATAL error $errstr at $errfile:$errline");
default:
exit("Unknown error at $errfile:$errline");
}
}
set_error_handler("errorHandler");
$test = 5;
if ($test > 1) {
trigger_error("Value of \$test must be 1 or less", E_USER_NOTICE);
}
你可以做任何想在這裏。電子郵件或日誌事件:)
http://www.jamescaws.com/notes/automatically-email-php-error-log-content/ – jyoti
大家好,只是發現這個:Getsentry.com。它似乎可以做我想做的事。任何有經驗的人? –
您可以使用php中的htaccess處理404,500等錯誤 – Shin
如果您期待很多用戶,我想您會使用PHP框架。而那些框架始終記錄403,404,500等。 –