XE디버깅하는방법
https://github.com/rhymix/rhymix/pull/268
https://xetown.com/tips/181226
참고사이트 - https://www.xpressengine.com/tip/17899854
xe 분석을 하다보니 디버깅에 대한 고민이 생겨 정리를 해 보았습니다.
(XE설치경로)/config/config.user.inc.php
- 기본 설정보다 우선하는 사용자 구성 파일
- 아래의 정보를 사용자 구성 파일에 새로 작성하여 저장
<?php
define('__DEBUG__', 0);
define('__DEBUG_OUTPUT__', 0);
define('__DEBUG_PROTECT__', 1);
define('__DEBUG_PROTECT_IP__', '127.0.0.1');
define('__DEBUG_DB_OUTPUT__', 0);
define('__LOG_SLOW_QUERY__', 0);
define('__LOG_SLOW_TRIGGER__', 0);
define('__LOG_SLOW_ADDON__', 0);
define('__LOG_SLOW_WIDGET__', 0);
define('__DEBUG_QUERY__', 0);
define('__OB_GZHANDLER_ENABLE__', 1);
define('__ENABLE_PHPUNIT_TEST__', 0);
define('__PROXY_SERVER__', 'http://domain:port/path');
define('__ERROR_LOG__', 0);
__DEBUG__
어떤 종류의 디버깅 메시지를 출력할 것인지 선택합니다. (비트연산으로 복합적으로 사용 가능)
- 0x00 : 메시지 미출력
- 0x01 : debugPrint() 함수에 의한 메시지 출력
- 0x02 : 출력 소요 시간, 요청/응답 정보 출력
- 0x04 : DB 쿼리 내역 출력
__DEBUG_OUTPUT__
디버깅 메시지의 출력 방법 선택합니다.
- 0 : files/_debug_message.php 파일에 출력 (안되던데??)
- 1 : 웹페이지 소스보기에서 맨 하단에 주석으로 출력
- 2. : FirePHP 콘솔 출력
선택의 여지가 없이 FirePHP 콘솔 출력을 사용할 듯 합니다. [FirePHP for Chrome]를 설치하시고 개발자도구를 열어보시면 새로운 탭이 생깁니다.
__DEBUG_PROTECT__
디버깅 메시지를 확인할 수 있는 IP 주소에 대한 범위를 지정할 수 있습니다.
- 0 : 제한없음 (권장하지 않음)
- 1 : 특정 IP 주소만 허락
__DEBUG_PROTECT_IP__
__DEBUG_PROTECT__가 1일 때, 디버깅 메시지를 볼 수 있게 허가된 IP 주소를 설정합니다.
__DEBUG_DB_OUTPUT__
DB 에러 메시지를 파일 출력할 것인지를 선택합니다.
- 0 : 에러 메시지 미출력
- 1 : files/_debug_db_query.php 파일에 출력
__LOG_SLOW_QUERY__
__LOG_SLOW_TRIGGER__
__LOG_SLOW_ADDON__
__LOG_SLOW_WIDGET__
지정된 시간(밀리초)보다 실행시간이 초과되었을 경우 파일 출력할 것인지를 선택합니다.
- 0 : 메시지 미출력
- 1 : files/_slowlog_xxxx.php 파일에 출력
__DEBUG_QUERY__
XML 쿼리 ID를 실행되는 query문에 주석으로 출력이 된다는 뜻인 것 같습니다. (사용법을 정확히 모르겠네.)
- 0 : XML 쿼리 ID 미출력
- 1 : XML 쿼리 ID 출력
__OB_GZHANDLER_ENABLE__
웹페이지 테이터를 압축 전송할지의 여부를 선택합니다.
- 0 : 미사용
- 1 : 사용
__ENABLE_PHPUNIT_TEST__
PHP unit 테스트 사용 여부를 선택합니다.
- 0 : 미사용
- 1 : 사용
그 외,
__PROXY_SERVER__,
__ERROR_LOG__
는 생략하기로 합니다.