TIP게시판

제목 phpstorm과 xdebug 연동하기
글쓴이 한대승(불의회상) 작성시각 2015/06/07 11:50:42
댓글 : 15 추천 : 0 스크랩 : 0 조회수 : 26724   RSS
한대승(불의회상)
1. php.ini 의 xdebug 설정 하기
  • php.ini 를 에디터를 이용하여 open
  • xdebug 설정을 아래와 같이 편집 합니다.
  • 작성된 예제는 xampp를 사용 했습니다.
  • [XDebug]
    zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
    xdebug.remote_enable = 1
    xdebug.remote_handler = "dbgp"
    xdebug.remote_host = "127.0.0.1"
    xdebug.remote_port=9000
2. 크롬에 xdebug 헬퍼 추가
  • xdebug를 사용하기 위해서는 디버깅 사이트 주소에 XDEBUG_SESSION=netbeans_xdebug 와 같은 get값을 넘겨 줘야 하는데 사용하기 편리 하도록 크롬에 확장기능을 추가 합니다.
  • 아래 주소로 이동 후 설치하기 버튼을 클릭하여 크롬에 설치 합니다.
  • https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc
  • 설치가 완료되면 주소 표시줄에 xdebug 헬퍼 아이콘이 추가 됩니다.
  • 디버그가 필요 할때는 "Debug"를 클릭하면 됩니다.
3.phpstorm
  • 윈도우 버젼과 맥 버젼의 모양이 다르던데 윈도우 버젼을 기준으로 합니다.
  • File > Settings > Language & Framework > PHP > Debug
  • phpstorm의 xdebug 설정을 확인 합니다.
4. xdebug로 debug 하기
  • 개발용 컴퓨터에 phpstorm 과 xampp와 같은 apm이 설치 된 환경을 기준으로 합니다.
  • xdebug의 패킷을 수신 할 수 있도록 phpstorm listen 상태로 바꾸어 줍니다.
  • 클릭하여 Linsten 상태로 변경 => 
  • 소스코드를 오픈 한 후 브레이크 포인터를 추가 합니다.
  • 크롬 xdebug helper 를 debug로 변경 합니다.
  • 개발중인 홈페이지를 리로드 한 후 디버깅을 합니다.
  • 최초 디버깅시 phpstorm에서 서버를 추가 할 건지 물어보는 팦업창이 뜨는데 "Apccept"를 클릭 하시면 됩니다.
  • 디버깅 시작...
  • 추가된 서버는 File > Settings > Language & Frameworks > PHP > Servers 에서 확인 가능 합니다.


 
 다음글 strace 를 이용한 php 디버깅 (1)
 이전글 통 레이아웃을 드라이버로 사용하기 (1)

댓글

변종원(웅파) / 2015/06/08 10:35:45 / 추천 0
음.. 지난주에 셋팅 다 해놓고 사용법을 몰라서 제대로 작동안됐던거네요.

브레이킹 포인트... ㅎㅎㅎ

다시 시도~~ 

감사합니다.

---> 성공. 근데 헬퍼에서 꺼도 브레이킹 포인트에서 멈추네요. (사용법 문제일지..)
한대승(불의회상) / 2015/06/08 10:40:47 / 추천 0
@웅파 저도 세팅은 1년전에 해 놓고 계속 재워 놓고 있었다능...... ㅋㅋㅋㅋ
변종원(웅파) / 2015/06/08 12:01:42 / 추천 0
브레이킹 포인트를 제거해도 똑같은 곳에서 멈추네요. ^^;
정군 / 2015/06/08 19:26:22 / 추천 0
@불의회상 @웅파 앗! 감사합니다.  ㅠㅠ
퇴근할라 했는데 얼릉 해보고 가야겠네요;; ㅎㅎ
변종원(웅파) / 2015/06/09 08:30:12 / 추천 0
정군/ 잘 되세요? 전 윈탭에선 실패했습니다. ㅎㅎ
맥에서는 브레이킹 포인트 제거해도 계속 디버깅을 하구요. 
오늘 윈도우 노트북에 다시 해봐야겠습니다.
한대승(불의회상) / 2015/06/09 08:37:18 / 추천 0
@웅파 나만 되는건가?
혹시나 싶어서 윈도우만 깔린 컴퓨터에서 phpstorm 부터 xampp까지 설치하면서 검증 했는데... 에고고~~
변종원(웅파) / 2015/06/09 12:17:50 / 추천 0
한대승/ 윈탭에 xampp, phpstorm 삭제하고 처음부터 다시 해봐야할거 같네요.
스미 / 2015/06/09 16:24:53 / 추천 0
저도 웅파님처럼 하고있습니다. phpinfo에 

또는 콘솔창에


나오고 php.ini 에 xdebug 설정 (포트,ip) 맞고
방화벽에 포트 열려있는지 확인하시고면 됩니다.

저의 경험상 방화벽(또는 라우팅) 관련 문재 빼고는 포스팅 내용대로 하면 잘되었습니다.

참고로 얼마전까지 phpstorm에 zend debug를 썻었는데 utf8 한글이 깨지더군여 
한참 삽퍼서 zend debug포기하고 (이후 JetBrains 포럼에 해당 증상 올렸습니다.)
xdebug에서 한글출력이 되어 xdebug 로 변경하였습니다.
변종원(웅파) / 2015/06/09 21:13:47 / 추천 0
한대승// 노트북에서는 정상적으로 실행이 되고 디버깅을 멈췄을때도 잘 실행이 됩니다.
감사합니다.
한대승(불의회상) / 2015/06/10 09:06:01 / 추천 0
@변종원 오... 축하 드립니다. ^^
거기서도 안되면 어쩌나 심쿵 했습니다.
변종원(웅파) / 2015/06/10 12:26:42 / 추천 0
한대승/ 이제 윈탭을 초기화할 일이 남았네요. ^^
일용직노동자 / 2015/06/19 10:44:18 / 추천 0
오 감사합니다 ㅎㅎ
/ 2015/06/19 16:23:24 / 추천 0
이거 자바 개발할때 디버그 기능같은건가요?? 
한대승(불의회상) / 2015/06/19 17:23:55 / 추천 0
닉// 네 맞습니다. ^^
헤클 / 2015/07/11 00:32:08 / 추천 0
PHP 스톰 8버전 쓰시는분들은 이게. 좀 유용할듯 합니다.
http://www.slideshare.net/findstar/phpstorm-remote-xdebug-setting?related=1

저는 VMware 에 페도라리눅스깔고 거기에 xdebug 를 설치 했더니..
고생이 이만저만이 아니라능... 

아무튼 방법이 매우 어려웠다는.. ㅡ,.ㅡ