Zend Debugger - Server Debugger in Eclipse PDT

 지금 부터 알아볼 eclipse 기반 PHP 개발 환경 구성은 Zend Debugger를 이용하여 Server Debugger를 구성하는 방법이다. 본 문서에서는 개발용 컴퓨터에 설치된 Apache HTTP Server를 오직 개발용으로만 사용한다는 전제 하에 Document Root를 Eclipse의 Workspace로 지정함으로써 Eclipse에서 Debug Configuration 시 최소한의 작업으로 Debugging을 시작할 수 있도록 구성했다. 이 문서는 다음 상황을 가정하여 작성하였다.
 그리고 본 문서 작성에 사용된 각 소프트웨어의 버전은 다음과 같다.
  • Apache HTTP Server 2.2.x
  • PHP 5.2.6
  • Eclipse Platform 3.4.2
  • PDT (PHP Development Tools) 2.0.0
  • ZendDebugger 5.2.15
 그럼 Zend Debugger - Server Debugger를 설치하여 진정한 Eclipse 기반 PHP 개발 환경을 완성하는 방법을 알아보자.

1.  Zend Debugger - Server Debugger 설치
 Zend의 다운로드 사이트 (http://downloads.zend.com/pdt/server-debugger/) 에서 Zend Debugger - Server Debugger 를 다운받는다. 자신의 개발 환경에 따라 알맞는 파일을 다운로드 하면 되는데, 만약 Windows 사용자라면 cywin_nt 라고 표시된 파일을 받으면 된다.

 받은 후 압축을 풀어보면, PHP 세부 버전에 따라 폴더가 나뉘어 있고, 각 폴더 안에는 개발 환경에 따라 ZendDebugger.dll, 또는 ZendDebugger.so 파일을 볼 수 있다. 이 ZendDebugger.dll, 또는 ZendDebugger.so 파일을 PHP의 Extension 디렉토리에 복사한다.

 PHP Extension 디렉토리는 "[PHP 설치 디렉토리]/ext" 로 설정되어 있는 것이 보통이지만, Ubuntu의 경우, /usr/lib/php5/20060613+lfs 에 존재한다. 따라서 시스템 상황에 따라 설치해야 한다. php.ini 파일의 extension_dir 설정을 참고하자.

 그리고 php.ini 파일에 다음과 같은 내용을 추가한다.
[ZendDebugger]
zend_extension=<full_path_to_ZendDebugger.so or ZendDebugger.dll>
zend_debugger.allow_hosts=<host_ip_addresses>
zend_debugger.expose_remotely=always
 zend_extension은 다음 설명에 따르되 상황에 맞게 입력한다.
Linux and Mac OS X:     zend_extension=<full_path_to_ZendDebugger.so>
Windows:                zend_extension_ts=<full_path_to_ZendDebugger.dll>
Windows non-thread safe: zend_extension=<full_path_to_ZendDebugger.dll>
(*) The Windows non-thread safe binary is only used with Zend Core 2.0.
 그리고 zend_debugger.allow_hosts에는 Zend Debugger Server에 접속을 허용할 Host들의 IP목록을 입력하면 되는데, 개발용 컴퓨터에서 자신 혼자서 사용할 예정이라면 단순히 127.0.0.1/32 만을 입력하면 된다. Linux 환경에서 설정한 예를 보면 다음과 같다.
[ZendDebugger]
zend_extension=/usr/lib/php5/20060613+lfs/ZendDebugger.so
zend_debugger.allow_hosts=115.145.170.231/32,127.0.0.1/32
zend_debugger.expose_remotely=always
 그리고 압축 파일에 포함되어 있는 dummy.php 파일을 Eclipse의 workspace 디렉토리에 복사한다. (즉, Eclipse의 프로젝트 디렉토리 들과 .metadata 디렉토리가 존재하는 경로에 복사하면 된다.) 이것은 후에 설정을 간단히 하기 위한 것으로, 이렇게 해 두면 Debug Configuration시 최소한의 작업으로 Debugging을 시작할 수 있다.

2. Apache HTTP Server 설정 변경
 Apache의 설정 (대부분의 경우 httpd.conf, Ubuntu의 경우 /etc/apache2/sites-available/default 파일) 에서 DocumentRoot를 Eclipse의 workspace 경로로 지정한다. 예를 들어, Eclipse의 workspace 디렉토리 위치가 /home/user/workspace 라고 가정한다면, 다음과 같이 설정한다. 디렉토리 경로에 공백이 포함되어 있을 경우에는 따옴표로 경로를 씌워주도록 한다.
DocumentRoot /home/eerien/Projects/eclipse
 그리고 DocumentRoot 경로에 대한 Directory 설정의 경로 역시 수정해 주어야 한다. 이 부분이 제대로 설정되지 않으면 Debugging 서버 접속 시 Permission Error나 404 Error가 발생하므로 반드시 제대로 설정해야 한다.
<Directory /home/eerien/Projects/eclipse>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>
3. Eclipse PDT 에서 Debug Configuration
 이제 Eclipse로 돌아와, Debug Configuration 을 해 보자. Eclipse에서 Run -> Debug Configurations... 메뉴를 선택한다.

Debug Configurations 화면

Debug Configurations 화면

PHP Web Page를 우클릭 한 후, New를 눌러 새로운 구성을 만든다.

 그리고 Name을 적절히 입력 후, Server Debugger로 Zend Debugger를 선택한다. 그리고 PHP Server의 Configure...버튼을 눌러 Edit Server 창을 연다.

Edit Server 화면

Edit Server 화면

    그림과 같이 설정되어 있는지 확인한 후, Path Mapping 탭을 누른다.

Path Mapping 탭

Path Mapping 탭

  위 그림과 같은 화면이 나오면, Add를 눌러,

Add new Path Mapping 화면

Add new Path Mapping 화면

  Path in Workspace의 Browse 버튼을 눌러 Eclipse에서 Debugging 하고자 하는 프로젝트를 선택하고, Path on Server 란에는 Path in Workspace와 동일하게 입력한 후, OK를 눌러 설정을 마친다.

설정이 완료된 Path Mapping 탭

설정이 완료된 Path Mapping 탭

  위 그림과 같이 Path Mapping 설정이 완료되면 OK를 눌러 설정을 완료한다.

Test Debugger

Test Debugger

  설정이 끝나면 Test Debugger 버튼을 눌러 위 그림과 같이 Success! 메시지가 나오는 것을 확인한다.

File 입력

File 입력

  Debugging을 시작하고자 하는 파일을 Browse 버튼을 눌러 선택 후, 목적에 따라 Break at First Line을 켜거나 끄면 설정이 완료된다. 이제 Debug버튼을 눌러 Debugging을 시작하면 된다.

Debugging 화면

Debugging 화면

  기타 궁금한 점은 댓글로 문의 바란다.
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 이린

2009/05/18 00:22 2009/05/18 00:22
, , , ,
Response
No Trackback , No Comment
RSS :
http://eerien.com/blog/rss/response/182

Trackback URL : http://eerien.com/blog/trackback/182

« Previous : 1 : ... 76 : 77 : 78 : 79 : 80 : 81 : 82 : 83 : 84 : ... 200 : Next »

블로그 이미지

기괴한황혼.

- 이린

Notices

  1. 이린.

Archives

Authors

  1. 이린

Calendar

«   2010/08   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Site Stats

Total hits:
429241
Today:
8
Yesterday:
21