본문 바로가기
Web/PHP

[ Codeigniter ] 에러 출력하기

by 기저귀찬개발자 2019. 11. 18.
에러 발생시 빈화면대신 발생 error에 대한 로그가 노출되도록 하는 설정문구이다.
아래 부분은 실질적으로 에러를 출력하는 부분으로 개발환경에 따라 나누지 않고 error가 발생하는 부분 상단에 선언하면 선언뒤 발생하는 에러를 표시한다.
error_reporting(E_ALL); // Display errors in output
ini_set('display_errors', 1)

 

아래는 index.php에서 개발환경에 따라 출력에러에 대한 레벨 설정을 따로 하는 부분으로 운영환경과 개발환경에 대한 설정을 따로 할 수 있다.

/* *------------------------- * APPLICATION ENVIRONMENT *-------------------------- */ 
define('ENVIRONMENT', 'development'); 
/* *------------------------- * ERROR REPORTING *---------------------------------- */

if (defined('ENVIRONMENT')) { 
	switch (ENVIRONMENT) { 
    	case 'development': // Report all errors error_reporting(E_ALL); 
        // Display errors in output ini_set('display_errors', 1); 
        break; 
        
        case 'testing': case 'production': // Report all errors except E_NOTICE 
        // This is the default value set in php.ini error_reporting(E_ALL ^ E_NOTICE); 
        // Don't display errors (they can still be logged) 
        ini_set('display_errors', 0); 
        break; 
        
        default: 
        exit('The application environment is not set correctly.'); 
    } 
}​


 
error_reporting 쓰는법
//모든 오류 보기
error_reporting(E_ALL); 
error_reporting(-1); //위와 동일

//E_NOTICE를 제외한 모든 오류 보기
error_reporting(E_ALL & ~E_NOTICE); 

//E_ERROR, E_WARNING 보기
error_reporting(E_ERROR | E_WARNING);


init_set 쓰는법

PHP 오류 출력에 대한 설정으로 기본값을 바꾸려면 php.ini에서 설정값을 변경하는 방법도 있으나 추천하진 않는다
PHP 오류를 표준출력(STDOUT)으로 출력할 것인지에 관한 PHP 설정값이다.

On일 경우, 아파치의 표준출력은 웹페이지으므로 사용자의 웹브라우저에 표시됨
CLI에서는 본 설정과 상관없이(즉 Off일 경우에도) 오류가 출력된다.



댓글