본문으로 바로가기


1. PHP XDebug 셋팅 환경 설정


1-1) 자신의 PHP VC버젼, PHP 버젼, Architecture가 무엇인지 확인한다

- 확인방법은 phpinfo()로 보면 된다.

- PHP version : 다음 사진은 PHP 5.4

 

- VC 버젼 : VC9 / Architecture : x86 (32bit)

- 여기에 나와 있는 비트는 PC의 사양이 아닌 Architecture의 사양임


- 만약 PHP 버전이 Thread Safe 이면 TS  버전을 받는다. Thread Safe인지 확인하는 방법은 PHP폴더 내에 php5ts.dll이라는 파일이 있거나 phpinfo에서 Thread safety를 검색하여 해당 옵션이 enabled라고 되어 있으면 Thread safe 이다.

- 따라서 나는 Thread Safety가 enabled이므로 TS이다.

 



1-2) 다운로드

- http://xdebug.org로 가서 위 버젼들을 다 확인한 후 맞는 XDebug를 받는다.

- 위와 같은 버젼이면 PHP 5.4 VC9 TS (32bit)을 다운 받는다.                       

                   PHP버젼 / VC버젼 / Thread / Architecture


1-3) 다운 받은 dll파일을 php폴더 내 ext폴더 안에 집어 넣는다.


1-4) php.ini 수정

- implicit_flush을 검색하여 다음과 같이 수정한다. (Off를 On으로 수정)

implicit_flush = On

- 다음을 [XDebug]에 추가한다. (php.ini 맨 밑에 확인)

[XDebug]
;; Only Zend OR (!) XDebug
zend_extension="C:\xampp\php\ext\php_xdebug-2.2.1-5.4-vc9.dll" //경로 설정 확인 할 것
xdebug.remote_enable=true
xdebug.remote_host=localhost
xdebug.remote_port=10000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="C:\xampp\tmp"

- [Zend]와 관련된 부분 주석처리


2. Phpstorm에서 Debuger 설정


2-1) Phpstorm을 실행시킨 후 메뉴에 [File] - [Settings] 클릭



2-2) 항목에서 php 선택

2-3) [...] 버튼 클릭



2-4) 디버그 할 경로 지정 (ex. c\xampp\php)한후 Debugger을 Xdbug로 지정한다.

       지정 다 했으면 Apply 한 후 OK


2-5)  server 항목 클릭


2-6) Host 입력, Debugger 선택한 후 Apply -> OK


2-7) 다시 메뉴에서 [Run] - [Edit Configurations...] 

2-8) 테스트할 파일, 해당 폴더를 선택해준다.


2-9) 테스트 코드 입력하여 테스트 해본다. 나는 다음과 같이 여러 재귀함수를 호출하도록 하여 에러가 발생하도록 하였다.

* 참고 : 다음은 에러가 아니라 PHP에서는 Noticce로 인식한다. 따라서 Notice에러를 안보이도록 설정해뒀다면

페이지에 실행시 에러가 보이지 않을 것이다. Notice가 보이도록 설정하는 방법은 내 블로그에 포스팅 해놨으니 참고 하시길 바란다.

( Notice에 대한 포스팅 : )

function a($_a){
     echo $d;
return $_a;
}
function b($_b){
    return a($_b);
}
function c($_c){
    return b($_c);
}
print_r(c(array('param'=-->'test')));

2-10) Shift + F9 하면 결과를 확인할 수 있다. 




* 참고 사이트 :

- 셋팅 영상
http://www.jetbrains.com/phpstorm/demos/remote_debugging/remote_debugging.html

- 생활 코딩
http://opentutorials.org/course/692/3756

- PhpStorm에서 Xdebug 설정과 테스트

http://qnibus.com/blog/phpstorm%EC%97%90%EC%84%9C-xdebug-%EC%84%A4%EC%A0%95%EA%B3%BC-%ED%85%8C%EC%8A%A4%ED%8A%B8/