워드프레스 디버깅 하기 > 그누커머스 팁자료실

그누커머스 팁자료실

그누커머스와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

워드프레스 디버깅 하기 정보

워드프레스 디버깅 하기

본문

이번에는 워드프레스 디버깅 ( debug ) 하는 방법에 대해 알려드리고자 합니다.

 

 

워드프레스는 기본적으로 php 에러가 일어났을때 에러메시지를 출력하지 않도록 설정되어 있습니다.

 

때문에 php 에러가 일어났을시 빈 화면( 하얀 백지 화면 )만 나오기 때문에 에러가 일어난 원인이 무엇인지 알수가 없을때가 있습니다.

 

 

에러 메시지를 출력하게 하려면 /wp-config.php 파일에서

 

define('WP_DEBUG', false);

 

8cc01a240bc80efd62d6889b3537521d_1453353561_2289.png 

 

라고 되어 있는 항목을 찾아

 

define('WP_DEBUG', true);

 

라고 고치면 에러 메시지를 출력하게 됩니다.

 

( 실사이트를 운영 중 이시면 define('WP_DEBUG', false); 로 설정해 놓으심이 좋습니다. ) 

 

8cc01a240bc80efd62d6889b3537521d_1453353719_2568.png
 

 

 

 

만약에 특정 플러그인에서 에러메시지가 출력되어 사이트 전체가 멈추게 된다면,

 

에러가 일어난 해당 플러그인을 고치거나, ftp 에 직접 접속하여 에러가 일어난 해당 플러그인 폴더를 삭제하면 됩니다.

 

 

 

에러 메시지를 파일로 남기고 싶다면

 

/wp-config.php 파일에

 

define('WP_DEBUG_LOG', true);

 

라고 되어 있다면

 

에러가 일어날때마다 /wp-content/debug.log 파일에 에러메시지를 저장합니다.

 

 

서버 설정에 따라 /wp-content/debug.log 파일이 안생길수도 있습니다. ( 서버 설정에 따라 틀립니다. )

 

 

일반적으로 테마나 플러그인 자동 업데이트시 ftp 비밀번호를 묻는 환경에서는 위의 /wp-content/debug.log 파일이 생성되지 않습니다.

 

테마나 플러그인 자동 업데이트시 ftp 비밀번호를 묻지 않고 되는 환경에서는 위의 /wp-content/debug.log 파일이 생성되는 것을 확인했습니다. ( 예 ) 카페24 호스팅에서 되는것을 확인했습니다. )

 

 

 

 

에러 메시지를 파일로만 남기고 싶고, 화면에 출력하고 싶지 않다면

 

/wp-config.php 파일에

 

define('WP_DEBUG_DISPLAY', true);

 

라고 설정합니다.

 

 

이 옵션은 에러가 일어나도 ( errors and warnings 메시지 등 ) 화면에 출력하지 않고,

 

위에서 말한 define('WP_DEBUG_LOG', true); 되어 있다면, 에러 메시지를 /wp-content/debug.log 파일에 저장합니다.

 

 

아래는 제가 개발하고 있을때 쓰는 /wp-config.php파일의 코드 스크린샷입니다.

 

8cc01a240bc80efd62d6889b3537521d_1453353779_0297.png
 

 

 

 

다음은 워드프레스 디버깅을 도와주는 플러그인에 대해서 알아 보겠습니다.

 

1. Debug Bar

 

2. Query Mointor 

 

 

먼저 Debug Bar 에 대해서 알아보겠습니다.

 

 

관리자 메뉴 -> 플러그인 추가하기 에서 Debug-Bar 를 설치합니다.

 

8cc01a240bc80efd62d6889b3537521d_1453353873_6146.png
 

 

설치하게 된다면

 

홈페이지 상단 툴바에 Debug 라는 표시가 생깁니다.( 워드프레스 관리자에게만 보입니다. 아래 이미지 참고 )

 

8cc01a240bc80efd62d6889b3537521d_1453353989_4262.png
 

 

해당 Debug 라는 표시 클릭하면 

 

아래 이미지 처럼 해당 php 버젼, mysql 버젼, 해당 페이지가 메모리를 얼마만큼 쓰는지 나오고, Request, Object Cache 메뉴가 보입니다.

 

 

8cc01a240bc80efd62d6889b3537521d_1453354082_6611.png
 

 

 

이 페이지에서 얼마만큼 db query 문를 쓰는지 확인 할수가 있습니다.

 

 

/wp-config.php 파일에

 

define( 'SAVEQUERIES', true );

 

라고 되어 있다면 ( 위의 상수는 글로벌 변수 $wpdb->queries 에 쿼리문을 저장 하는 역할을 합니다. )

 

 

Debug 바 메뉴에 Queries, WP Query 메뉴가 추가 됩니다.

 

먼저 Queries 화면은 살펴보겠습니다.

 

이미지를 보면 현재 페이지에서 실행되는 쿼리문을 확인할수 있습니다.

 

 

8cc01a240bc80efd62d6889b3537521d_1453354198_343.png
 

 

TOTAL QUERIES : 169

 

TOTAL QUERY TIME : 128.0ms

 

실행되는 sql-query 목록들

 

 

현재 페이지에서 169 개의 쿼리문이 실행되고 있고, 쿼리 질의 시간은 0.128 초가 걸렸습니다.

 

실행되는 쿼리가 많을수록 db 서버에 부하를 주게 되니

 

쿼리수가 너무 많다고 판단 되면, 불필요한 플러그인을 비활성화 시키거나 캐쉬 플러그인 ( wp super cache ) 을 사용해서 부하를 덜어주는것이 좋습니다.

 

 

WP Query 메뉴에서는 Query Type 과  Query Template 등을 확인 할수 있습니다.

 

8cc01a240bc80efd62d6889b3537521d_1453354318_3272.png
 

 

다음은 Query Monitor 플러그인에 대해서 알아보겠습니다.

 

Query Monitor 플러그인은 테마 또는 플러그인 을 개발할때 정말 유용하게 쓰입니다.

 

 

제가 처음 Query Monitor 플러그인에 대해 알게 된것은 아래 url을 통해서 알게 되었습니다.

 

 

http://082net.com/2015/1064/query-monitor-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8-%EC%86%8C%EA%B0%9C/

 

 

그렇다면 플러그인을 설치해 보겠습니다.

 

8cc01a240bc80efd62d6889b3537521d_1453354898_307.png
 

 

설치를 다 하게 되면 홈페이지 상단 툴바에 아래와 같이 나타납니다.

 

 

 8cc01a240bc80efd62d6889b3537521d_1453355063_7715.png 

 

 

Query Monitor 의 정말 좋은 장점은 실행되는 hook 의 순서를 전부 출력한다는 점에 있습니다.

 

 

 

예를 들어 실행되는 워드프레스 hook 이름을 모르거나, 또는 hook 의 우선순위로 실행되는 것이 어떤것인지 잘 모를때에는

 

 

Query Monitor 에 출력되는 Hooks 화면을 보면서 확인하면 됩니다.

 

 

 8cc01a240bc80efd62d6889b3537521d_1453355165_4354.png 

 

 

이상으로 마치겠습니다.

추천
3

댓글 전체

전체 25
그누커머스 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT