2013년 11월 7일 목요일

php XDebug를 사용하여 원격 디버깅 하기 (xampp 환경)

오후 4:58 Posted by jonnung 1 comment

XDebug를 적극 활용하여 그동안 echo, print_r, var_dump를 이용해서 출력값을 확인하던 디버깅 습관을 바꿔보자!

일단 php xdebug의 동작 원리를 이해하기 위해서 '생활코딩' 이고잉님이 만드신 강좌를 참고 하도록 한다.
( Remote Xdebug 메커니즘 : http://opentutorials.org/course/692/3758 )

나도 생활코딩 강좌를 보고 생각을 정리할겸 간단하게 그려보았다.

phpXdebug
php에서 xdebug를 사용하기 위해서는 크게 3가지 단계가 필요하다.
  1. 서버측 php.ini에서 xdebug 사용 설정
  2. 개발 IDE XDebug 사용 설정(플러그인 같은)
  3. 브라우저 XDebug 확장 프로그램 설치

1. php.ini 수정

 php.ini 파일을 열어 아래의 부분을 찾고, 문장 첫줄에 있는 주석(;)을 제거하고, 저장 후 아파치를 재시작 한다.

[XDebug]
zend_extension = "D:\zSever\xampp\php\ext\php_xdebug.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "D:\zSever\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = On
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port = 9000
xdebug.trace_output_dir = "D:\zSever\xampp\tmp"


2. 개발 IDE 플러그인

 현재 Sublime Text2를 사용하고 있기 때문에 pci(Package Controll Installer)를 이용하여 'SublimeXdebug' 플러그인을 설치 한다.

https://github.com/Kindari/SublimeXdebug


3. 브라우저 XDebug 확장 프로그램 설치

 파이어폭스를 기준으로 'easy Xdebug' 확장 기능을 설치 한다. (크롬은 xdebug helper)
설치 후 에 파이어폭스 상단 탭 근처에서 마우스 우클릭 후 '부가기능모음' 버튼을 활성화 하면, 브라우저 우측 하단에 벌레가 나타난다.ㅋㅋㅋㅋ

 이제 모든 구성은 끝났고 실제로 사용하는 일만 남았다. ㅎㅎ
글로 설명하는 것보다 실제로 사용하는 모습을 남기고 싶지만 유투브에 딱 알맞는 영상을 있어서 그걸루 대체하기로~

http://www.youtube.com/watch?v=9bV0_gk0fkk