2012-11-21 2 views
0

웹 사이트를 개발하고 있지만 데이터베이스에 레코드를 삽입하고 나면 try catch를 사용하고 있습니다.오류를 로그하는 PHP 전역 오류 배열

시도가 실패하고 예외가 잡히면 모든 예외 메시지에 추가 할 수있는 전역 오류 배열을 만들고 싶습니다.

이 배열은 나중에 PHP 페이지에서 사용자에게 발생한 오류를 표시하는 데 사용됩니다.

이 배열을 만드는 방법은 무엇입니까?

감사합니다,

답변

1

당신은 이와 같은 일반 오류 핸들러를 만들 수는 :

// error handler function 
function myErrorHandler($errno, $errstr, $errfile, $errline) 
{ 
    if (!(error_reporting() & $errno)) { 
    // This error code is not included in error_reporting 
    return; 
    } 

    switch ($errno) { 
     case E_USER_ERROR: 
     echo "<b>My ERROR</b> [$errno] $errstr<br />\n"; 
     echo " Fatal error on line $errline in file $errfile"; 
     echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n"; 
     echo "Aborting...<br />\n"; 
     exit(1); 
     break; 

     case E_USER_WARNING: 
     echo "<b>My WARNING</b> [$errno] $errstr<br />\n"; 
     break; 

     case E_USER_NOTICE: 
     echo "<b>My NOTICE</b> [$errno] $errstr<br />\n"; 
     break; 

     default: 
     echo "Unknown error type: [$errno] $errstr<br />\n"; 
     break; 
    } 

    /* Don't execute PHP internal error handler */ 
    return true; 
} 

//

set_error_handler("myErrorHandler"); 
+0

질문과 관련이없는 것 같습니다 사용자 정의 오류 처리기로 설정합니다. 이것은 배열을 생성하지 않습니다. – eisberg

+0

전 세계 배열보다 오류를 처리하는 더 좋은 방법으로 원래의 포스터를 인쇄 할 때이 질문에 더 잘 대답한다고 생각합니다. – EmmanuelG

+0

예 이것은 액세스 할 클래스에 배치해야하는 함수입니다. 나는 어디에서나 액세스 할 수있는 $ _SESSION과 같은 것을 필요로한다. –