2013-05-16 81 views
1

我正在啓動一個新項目(php),我們期待很多用戶。通常情況下,如果人們發現一些錯誤,他們會通過電子郵件發送郵件,或者他們會在特定的頁面中寫入。用戶級錯誤跟蹤

但有沒有可能以某種方式自動讓我們的開發人員知道(無論是通過郵件還是小型自定義應用程序),何時用戶無法找到工作或打到404頁面,哪裏出錯,什麼設備瀏覽器和平臺)用戶使用?

如果是這樣,我們可以查看列表並快速找到我們網站中最有問題的部分,並在我們的用戶非常惱火之前解決這些問題,以便他們寫信給我們。

+1

您可以使用php中的htaccess處理404,500等錯誤 – Shin

+0

如果您期待很多用戶,我想您會使用PHP框架。而那些框架始終記錄403,404,500等。 –

回答

2

是的,你可以做this.There很多方法,但我向您展示一個非常簡單的方法來做到這一點,

你需要創建一個自定義錯誤自定義錯誤處理程序。在這方面,你可以處理所有的錯誤,包括他們的電子郵件和登錄

See For details

<?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); 
    } 

你可以做任何想在這裏。電子郵件或日誌事件:)

+0

http://www.jamescaws.com/notes/automatically-email-php-error-log-content/ – jyoti

+0

大家好,只是發現這個:Getsentry.com。它似乎可以做我想做的事。任何有經驗的人? –