2012-04-16 2 views
0

error_reporting 함수에 이상한 문제가 있습니다.PHP에서 error_reporting 수준 저장 및 복원

현재 error_reporting 수준을 저장하고 몇 줄의 오류보고를 비활성화하고 다시 복원하려고합니다. 그래서 나는 다음과 같은 코드를 가지고 : 나는 마지막 줄을 제거하면

$oldErrorReporting = error_reporting(); 
error_reporting(0); 
//Some code, that will generate warning, or error, that I don't want to show 
error_reporting(oldErrorReporting); 

그래서, 오류가 없는지를, 모든 것이 잘 작동합니다. 그러나 마지막 줄을 추가하면 오류보고가 해제 된 동안 코드에서 오류가 발생합니다. 그래서 error_reporting 수준이 0 인 동안 발생하는 오류를 해결하고 오류 보고서를 조정하는 동안 발생하는 오류없이 기본 오류보고 수준을 복원하는 방법이 있습니까?

+0

하면이 문자 그대로 당신의 암호? 그럼'$'가 없습니다. 그렇지 않으면 에러 억제 연산자'@'에 대해 알고 있습니까? 또한 오류를 유발하는 코드는 무엇입니까? – deceze

답변

1

은 어쩌면 (그냥 & 붙여 넣기를 복사 (과) uneccesssary 줄을 제거, 질문에 대한하지 재 작성 코드를 제발, 만약 그렇다면) 단지 오타,하지만 당신은 당신의 마지막 줄에 $ -sign을 잊었 :

error_reporting($oldErrorReporting); 
+0

아쉽게도 내 질문에 코드를 붙여 넣기 만하면되었습니다. – Ivica

1

어떤 종류의 경고가 경고를 생성합니까? - 그것은 funciton이 대신 디버그 수준을 낮추는의 시도 경고 자체를 억제하는 경우 함수 이름

앞에 쓰기를 "@"를 살펴 있습니다

Suppress error with @ operator in PHP

+0

문제는 imap_open 함수에서 발생하며, 어떤 이유로 IMAP 서버와의 연결에 실패 할 경우 오류가 발생하며이를 피하고 IMAP 서버에 연결할 수 있는지 사용자에게 알리고 오류 세부 정보없이 . 오류를 방지하기 위해 @으로 시도했지만 예상대로 작동하지 않습니다. – Ivica

+0

코드의 여기에 부분을 게시 하시겠습니까? 오류, 조건, 예외 사항 등을 처리 할 수있는 몇 가지 방법이 있습니다. – xholicka