요즘 다시 PHP 연습중입니다. 하나 만들고 싶은 게 있어서요.
예전에는 그냥 일반 텍스트에디터를 사용해서 연습을 했었습니다. 그런데 이번에 easyPHP를 설치하다보니, 디버거를 사용할 수 있다는 것을 알게 되어서 일단 easyPHP에 XDebug를 설치했습니다.
그런데, 디버거를 사용하는게 마땅치 않았습니다. eclipse PDT라는 통합개발환경 IDE에서 디버깅을 할 수 있다는 글을 따라해 보기도 했고, notepad++에 플러그인으로 설치했다는 글을 따라하기도 했습니다. 크롬 익스텐션을 설치해보기도 했고요. 물론 모두 실패했습니다.
그래서 마지막이라는 심정으로 다시한번 검색을 해서 netbeans IDE와 XDebug를 연동할 수 있다는 글을 따라했습니다. 억지로 성공했네요.
일단 NetBeans IDE는 여기에서 설치하실 수 있습니다. 저는 PHP x64 버전으로 설치했습니다.
설치한 후, NetBeans에서는 아래 그림처럼 설정합니다. Tools -> Options 에 있습니다. 여기에서 Debugger Port는 XDebug 설정값(php.ini)와 동일하게 설정해야 합니다.
한가지, Watches and Ballon Evaluation 을 켜면 변수들의 값을 확인하는데는 편하지만, 불안정하다고 하여 그냥 꺼뒀습니다.
다음으로 폴더설정... 이게 좀 까다로웠습니다. NetBeans의 Project 설정과 easyPHP의 실행환경하고 맞춰주어야만, NetBeans에서 디버거를 실행시킬 때 자동으로 실행시킬 수 있기 때문입니다.
먼저 아래가 easyPHP의 대시보드입니다. 여기에서 폴더가 두개 지정되어 있습니다. Workding Directories와 Portable Directory 입니다.
여기에 각각 파일을 넣고 실행해보면 Working Directory의 경우, http://127.0.0.1/edsa-WD/ 로 실행되며, Portable Directory는 http://127.0.0.1/로 실행됩니다. 즉, Portable Directory로 지정되어 있는 위치가 root directory로 인식되는 것입니다. 따라서 NetBeans의 실행 디렉토리도 여기로 맞춰 주면 됩니다. (참고로, Working directory 의 경우 edsa-가 강제로 추가되어서 설정하기가 힘들었습니다.)
즉 NetBeans에서 프로젝트를 생성할 때... 먼저 File -> New Project 를 선택하면 아래와 같이 뜨고
다음으로... 프로젝트 이름과 소스 위치를 정하는 화면에서는 자신이 관리하는 위치를 지정해 줍니다. (그냥 프로젝트를 easyPHP의 Portable Directory로 지정된 위치 내에 만든다면 다음단계는 생략해도 됩니다.)
다음으로 실행환경을 아래와 같이 정해줍니다. 반드시 Source Folder의 내용을 다른 위치에 복사하도록 지정을 하고, 그 위치를 easyPHP의 Portable Directory와 맞춰줍니다. 이렇게 하면 자신이 관리하는 위치에서 작업을 하더라도 실행할 때는 해당위치로 복사가 되어, localhost에서 실행될 수 있습니다.
===
이렇게 해둔 상태에서 원하는 파일에서 마우스 오른쪽버튼을 누르고 Debug를 지정하면...
다음과 같이 웹브라우저에서 해당프로그램이 Debug 상태로 실행됩니다. 아래를 잘보면 localhost의 응답을 기다리는 중... 으로 표시됩니다.
아울러, Netbeans 편집화면에서는 아래와 같이 디버그용 버튼들이 활성화되고, PHP 첫라인인 <?php 에서 실행이 중지된 상태로 사용자의 입력을 기다리게 됩니다. 단추나 F7(Step into), F8(Step Over) 등을 이용해 한줄씩 실행시키고 변수의 상태를 확인하면서 디버깅하면 됩니다.
====
이상입니다. 아직 NetBeans를 잘 몰라서 억지로 여기까지만 설정을 했습니다. 앞으로 좀더 사용하다보면 좀 더 깔끔한 방법이 생길지도 모르겠습니다.
민, 푸른하늘