PHP 개발자를위한이클립스이클립스에서 PHP 개발하기 IDE 의묘미는디버깅이다. 텍스트에디터에서지나친에러를잡아내어알려준다. 이클립스에서 PHP 프로그래밍을할때도이같은묘미가느껴진다. 지난시간에이어 PHP 실행관련추가내용과디버깅을위한설정, 웹서버연동등 IDE 로활용하기위한

Similar documents
PHP 개발자를위한이클립스 PHP 프로그래밍과 이클립스 보통 PHP 프로그래밍도구하면텍스트에디터를생각하기마련이다. 하지만 PHP 프로그래밍을위한다수의 IDE 가발표되었고텍스트에디터에비해개발효율증가라는장점을제공한다. 멀티플랫폼을지원하는오픈소스개발도구인이클립스를이용한 PH

4S 1차년도 평가 발표자료

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Windows 8에서 BioStar 1 설치하기

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft Word - src.doc

Microsoft Word - Windows_apahce_php_CUBRID2008

Microsoft PowerPoint - [Practice #1] APM InstalI.ppt

B.3 JDBC 설치 JDBC Java DataBase Connectivity 는자바에서 DBMS의종류에상관없이일관된방법으로 SQL을수행할수있도록해주는자바 API Application Program Interface 다. 이책에서는톰캣과 SQL Server 간의연결을위

슬라이드 1

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

JDK이클립스

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

PowerPoint Template

Studuino소프트웨어 설치

슬라이드 1

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

PowerPoint 프레젠테이션

Microsoft PowerPoint - aj-lecture1.ppt [호환 모드]

MF5900 Series MF Driver Installation Guide

PowerPoint 프레젠테이션

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

슬라이드 1

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

Microsoft PowerPoint - chap-02.pptx

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

Microsoft PowerPoint - chap01-C언어개요.pptx

슬라이드 1

슬라이드 1

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른

슬라이드 1

Endpoint Protector - Active Directory Deployment Guide

슬라이드 1

에접속하여상단메뉴에서 [DOWNLOADS] 를클릭한다. 다운로드페이지에서 Java 카테고리에있는 [Java SE] 를클릭하고페이지가바뀌면 [Java Platform (JDK)] 를클릭한다. JDK 버전은다운로드하는시점에따라다를수

BEA_WebLogic.hwp

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

PowerPoint Template

슬라이드 1

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

게시판 스팸 실시간 차단 시스템

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

Microsoft Word - php05.doc

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

Install stm32cubemx and st-link utility

NTD36HD Manual

슬라이드 1

RedHat Linux Fedora Core 4 + APM 소스컴파일설치 김희균 [ 사전준비 : 리눅스시디, 리눅스설치공간준비와컴퓨터의 IP 주소와넷마스크, 게이트웨이주소기록 1. Linux 시디로부팅을한다. 2. Gra

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

중단점활용하기 중단점 (Breakpoint) 의개념은프로그램의특정명령어바로이전에실행을임의로중단하는것으로의 매우간단합니다. 중단점의구현은소프트웨어또는하드웨어로가능합니다. 중단점사용은버그를찾아내고제거하는데매우쉽고간단한방법이며복잡한조합으로사용할수있습니다. 소프트웨어개발자들은

vi 사용법

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

슬라이드 제목 없음

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

JAVA 플랫폼 개발 환경 구축 및 활용

SaaS 플랫폼을 위한 Web 2.0기반 서비스 제공 미들웨어 기술 연구

Microsoft Word - Windows_Server_Hmail_설치법

ISP and CodeVisionAVR C Compiler.hwp

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

System Recovery 사용자 매뉴얼

슬라이드 1

<5BB5BFB8EDB4EB2D E4B5D C0A5BDA9C0C720BAD0BCAEB0FA20B4EBC0C020B9E6BEC82E687770>

Microsoft PowerPoint - chap-02.pptx

SAS9.2_SAS_Enterprise_Miner_install_guide_single_user_v2

파워포인트

슬라이드 1

MySQL-Ch05

슬라이드 1

Office 365 사용자 가이드

데이터베이스_오라클_부록(최종).indd

untitled

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

Facebook API

OM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사

PowerPoint 프레젠테이션


vRealize Automation용 VMware Remote Console - VMware

*Revision History 날짜 내용 최초작성 Tel Fax [2] page

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

문서의 제목 나눔고딕B, 54pt

Microsoft PowerPoint - System Programming Lab Week1.ppt [호환 모드]

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx

슬라이드 1

윈도우즈프로그래밍(1)

Transcription:

PHP 개발자를위한이클립스이클립스에서 PHP 개발하기 IDE 의묘미는디버깅이다. 텍스트에디터에서지나친에러를잡아내어알려준다. 이클립스에서 PHP 프로그래밍을할때도이같은묘미가느껴진다. 지난시간에이어 PHP 실행관련추가내용과디버깅을위한설정, 웹서버연동등 IDE 로활용하기위한방법을알아본다. 스텝 5 바이스텝 연재순서 1 회 2007. 1 PHP 프로그래밍을위한이클립스 2 회 2007. 2 이클립스에서 PHP 개발하기 연재가이드운영체제 윈도우, 리눅스, 유닉스, 매킨토시등자바가능한 GUI 플랫폼개발도구 자바 SE 1.5 이상, 이클립스 3.1 이상, PHP, DBG, XAMPP 기초지식 PHP 프로그래밍응용분야 PHP 웹애플리케이션개발 용영환 xenonix@gmail.com 컴퓨터를처음으로사주셨던부모님, 리눅스 CD를건네주었던친구, 오픈소스를알게해준후배, 옆에서한결같은모습으로바라보는여자친구에게항상고마운마음을갖고있다. 태터툴즈에서개발자로근무하는청년으로정보와기술은공유또는공개되어야한다고믿는다. PHP 실행환경변수를지정하여실행하기하나의웹게시판이있다고가정하자. 웹게시판목록에서게시물을선택하면웹브라우저는웹서버로선택한게시물번호를전송한다. PHP 프로그램은웹서버를통해입력받은게시물번호를데이터베이스에서검색한뒤찾은정보를 HTML 형식으로웹브라우저에전송한다. 게시판뿐만아니라웹기반프로그램은이런방식으로데이터를교환한다. 이클립스에서환경변수를지정하여웹브라우저를통해데이터를입력하는것과동일하게프로그램을실행시킬수있다. QUERY_STRING은 GET 방식으로입력받은값을갖는환경변수다. 이환경변수의값은 PHP에서 $_REQUEST, $_GET, $_POST 등으로도가져올수있다. QUERY_STRING을이클립스에서입력하려면메뉴 Run->Run 창을띄우면된다 (< 화면 2> 참조 ). PHP DBG Script에서실행할프로그램을선택하고, < 화면 2> 오른쪽영역의탭메뉴중 4번째 Environment를선택한다. CGI-Vars를클릭하면환경변수선택창이열린다 (< 화면 3> 참조 ). QUERY_STRING[] 을선택하고 OK를클릭하면환경변수지정목록에 QUERY_STRING이추가된다. 목록에서 QUERY_STRING을선택하고 Edit 버튼을클릭한다. Value에 필자메모 이클립스를실행하는운영체제가한글윈도우라면이클립스의기본인코딩은 MS949이다. 자바의경우 UTF-8을많이사용하지만 PHP는여전히 EUC-KR을주로사용하므로한글윈도우환경이면 EUC-KR로작성된소스코드를편집하는데문제가없다. 그런데영문윈도우는이클립스의기본인코딩이 Cp1252다. Cp1252는 Western Alphabet 인코딩이라한글이제대로표현되지않는문제가있다. 한글인코딩이가능하게하는데두가지방법이있다. 윈도우제어판 Regional Options( 국가및언어옵션 ) 에서 Locale을 Korea로변경하거나이클립스메뉴 Window->Preferences 에서 General->Workspace 의 Text file encoding을 Other로변경하고 MS949 를직접입력하는방법이다. 이전버전의이클립스는인코딩설정항목이 General ->Editors 에있다. < 화면 1> 인코딩설정화면 330 m a s o

이클립스에서 PHP 개발하기 name=value&name=value와같은형식으로원하는값을입력하면웹브라우저에서입력받는것처럼 $_GET 값을얻을수있다 (< 화면 4> 참조 ). 이외에도원하는임의값을지정할수있다. [ 항목 1] 은 < 화면 2> 의버튼에대한설명이다. < 화면 5> Standard Input and Output 설정화면 디버깅프로그램의오류를찾아수정하는것을디버그 (debug) 라고하며, 디버그하는작업을디버깅이라고한다. 웹프로그램은스크립트라는특성상소스코드를읽어가며분석하여디버깅을한다. 이방법은소스코드가복잡해질수록디버깅이어려워지는단점이있다. < 화면 2> 환경변수지정목록화면 [ 항목 1] 환경변수지정목록버튼설명 - New : 새로운환경변수를만든다. - CGI-Vars : 웹서버를통해입력받는기본적인환경변수를지정한다. - Select : 이클립스에서제공하는시스템의환경변수를선택하여지정한다. < 화면 3> 환경변수선택화면 디버깅을위한준비 PHPEclipse는 DBG라는 PHP 디버거의도움을받아이클립스에서 PHP 프로그램을디버깅할수있는환경을제공한다. DBG는 http://dd.cron.ru/dbg/ 에서상용버전과무료버전두가지로배포되고있다. < 표 1> 은 DBG 버전에대한 PHP 버전설명이다. DBG 버전지원하는 PHP 버전 DBG 3.1.6( 상용 ) 4.3.0 ~ 4.4.4 5.0.0 ~ 5.1.6 DBG 2.15.1( 무료 ) 4.0.6 ~ 4.4.2 5.0.0 ~ 5.1.2 < 표 1> DBG 버전별 PHP 지원버전 최신무료버전인 DBG 2.15.1은 64 비트환경을지원하지만, 소스코드형태로만제공되어직접컴파일을해야한다. 여기서는바이너리형태로제공되는무료버전인 DBG 2.13.1을설치한다. < 표 1> 을참고하여설치된 PHP 버전에맞은 DBG를설치하자. 필자의개발환경 < 화면 4> QUERY_STRING 환경변수에값을지정하는화면실행결과를파일로저장하기실행한결과에 HTML이포함된경우콘솔창에서결과를확인하기가어렵다. 이럴땐이클립스에서 PHP 프로그램을실행하여얻은결과를파일로저장하고확인할수있다. 메뉴 Run- >Run 창을띄운다. 실행할프로그램을선택하고탭메뉴의 Common을선택한다. Standard Input and Output에서 File을선택하고결과를저장할파일명을입력한다. Append 옵션은파일을덮어쓰지않고결과를이어서저장한다 (< 화면 5> 참조 ). - 윈도우XP - 이클립스 3.2.1 - PHPEclipse 1.1.8 - PHP 5.1.2(Windows binary), http://kr.php.net/releases.php - DBG 2.13.1(DBG 2.13.1 dbg modules) http://dd.cron.ru/ dbg/downloads.php DBG 설치내려받은 DBG 파일의압축을푼다. 폴더를열면 i686 폴더안에 php_dbg.dll-x.x.x라는파일이있는데뒤에숫자는 PHP 버전을의미한다. 설치된 PHP 버전에맞는 DBG를찾아 PHP가 m a s o 331

스텝바이스텝 5 설치된 (ext 또는 extenstion) 폴더에복사한후 php_dbg. dll로파일명을변경한다. PHP에 DBG 모듈을추가해야한다. 만약 php.ini 파일이없다면 PHP 폴더에 php.ini-dist 파일또는 php.ini-recommended 파일중하나를 php.ini으로파일명을변경하면된다. php.ini 파일을열어 implicit_flush를찾아값을 On 으로변경하고 extension_dir의값을 PHP Extension 폴더의경로로변경한다 (< 리스트 1> 참조 ). PHP 4는확장모듈의폴더가 extension 으로되어있다. 그리고 php.ini 마지막에 < 리스트 2> 의내용을추가한다. implicit_flush 옵션은 print() 와 echo(), HTML을만났을때 flush() 함수를호출하여 PHP의출력버퍼내용을전송하도록한다. < 리스트 1> php.ini 변경내용 implicit_flush = Off ==> implicit_flush = On extension_dir = "./" ==> extension_dir = "./ext/" < 리스트 2> php.ini 추가내용 extension = php_dbg.dll debugger.enabled = on debugger.profiler_anabled = on debugger.jit_host = clienthost debugger.jit_port = 7869 이제 DBG가제대로등록되었는지확인해야한다. 이클립스를실행하고파일을하나생성해 < 리스트 3> 의코드를입력한다. 실행한다음콘솔영역에 < 화면 6> 처럼 DBG 등록정보가나타나면정상적으로설치가완료되었다. 디버깅을위한파일생성디버깅을위해 debugging.php라는파일을생성하고 < 리스트 4> 의소스코드를입력한다. 이소스코드는매우간단하지만디버깅을통해실행과정에서변수값의변화를보여준다. < 리스트 4> Debugging.php 파일소스코드 <?php $strname = "Eclipse"; $intcount = 1000; $arrinfo['name'] = $strname; $arrinfo['count'] = $intcount; $arrresult = $arrinfo; echo "End..."; exit();?> Debug Perspective로전환 Debugging.php 파일을생성하였다면메뉴 Window -> Open Perspective 에서 Debug를선택하여디버깅을위해 Debug Perspective로전환한다. Debug Perspective는 PHP Perspective와다르게구성되어있다. < 화면 7> 은 Debug Pers pective로전환한화면이고 [ 항목 2] 는 Debug Perspective에대한설명이다. < 리스트 3> phpinfo() 소스코드입력 <?php phpinfo();?> < 화면 7> Debug Perspective 로전환한화면 [ 항목 2] Debug Perspective 화면설명 < 화면 6> phpinfo() 결과에 DBG 정보가출력된화면 - Debug : 디버그프로세스를보여준다. - Variables : 실행과정의 PHP 변수에대한정보를보여준다. - Breakpoints : Breakpoint로지정된위치정보를보여준다. 332 m a s o

이클립스에서 PHP 개발하기 디버그설정여기까지진행되었다면이제디버깅을위한디버그설정을해야한다. 이과정은 PHP 프로그램을실행 (Run) 하는과정과비슷하다. 메뉴 Run->Debug 를선택하면디버그설정창이열린다. 화면왼쪽 PHP DBG Script 를마우스오른쪽버튼으로클릭하고 New를선택한다. < 화면 8> 과같은화면이나타난다. 항목이이미채워져있을것이다. Name 항목은설정에대한고유이름이니원하는이름으로변경한다. 그리고탭메뉴의 3번째 Environment를이동한다. < 화면 9> 와같이 PHP 인터프리터를선택하는화면이나타난다. 이미지정했던 PHP 인터프리터가선택돼있으면, DBG는 PHP 인터프리터가 CGI 상태로구동돼야동작한다. 만약 PHP 인터프리터가콘솔구동파일인 php-win.exe(php 4의경우 cli/php.exe) 가선택되어있다면, CGI 구동방식인 php-cgi.exe로변경한다. PHP 4의경우엔 PHP 폴더바로아래에있는 php.exe를선택한다. Apply를클릭하여저장하고 Debug를실행해보자. < 화면 10> 은 Debug를실행했을때 Debug 영역에타나난결과이다. 프로그램이정상적으로종료되었음을의미한다. Breakpoint 지정프로그램을디버깅하기위해서는소스코드의어디서부터디버깅할것인지 Breakpoint를지정해야한다. Breakpoint는프로그램이실행되는과정에서디버깅을위해실행을일시정지하는위치를말한다. 디버그가되지않을경우는 Breakpoint를지정하지않아서다. 프로그램이멈추지않고끝까지실행됐기때문이다. Breakpoint를지정하려면소스코드를편집할수있는 Edit 영역의왼쪽모퉁이를마우스왼쪽버튼으로두번클릭하거나마우스오른쪽버튼을클릭하여 Toggle PHP Break point 를선택하면된다. Breakpoint가지정되면동그란점이표시된다. < 화면 11> 은 Breakpoint를지정한화면이다. Break point는하나이상지정할수있으며지정된 Breakpoint는지정방법과동일하게해제할수있다. < 화면 11> < 리스트 4> 의소스코드에 Breakpoint 를지정한화면 < 화면 8> Debug 설정화면 디버깅하기 Debug를실행해보자. 이전과는다른결과가각영역에나타난다. < 화면 12> 의 Debug 영역을보면프로그램이 3번째줄 Breakpoint에서일시정지되어있다는것을알수있다. Varia bles 영역에는이시점에서 PHP 프로그램이갖고있는상수와변수에대한정보가나열되어있다. Variables 영역의항목을펼쳐보면웹서버상수, PHP 상수, 프로그램에서선언한변수등이있다 (< 화면 13> 참조 ). 이상태에서프로그램을한줄씩진행하면서디버깅하면된다. < 표 2> 는 Debug 영역의버튼에대한설명이다. 동일한디버그실행을반복하려면 < 화면 14> 의버튼을클릭하여실행한다. < 화면 9> Debug 설정창의 Environment 화면 < 화면 10> Debug를실행했을때 Debug 영역화면 < 화면 12> Debug 실행후 Debug 영역화면 < 화면 13> Variables 영역화면 Resume Breakpoint가있는위치까지프로그램을진행한다. Terminate 프로그램의실행을중단한다. Step Into 멈춰있는다음줄로진행한다. 만약함수가있다면함수안으로이동한다. Step Over 멈춰있는다음줄로진행한다. 함수안으로이동하지는않는다. Step Return 함수실행을완료하고함수밖으로나온다. < 표 2> Debug 버튼설명 m a s o 333

스텝바이스텝 5 - phpmyadmin 2.8.0.3 < 화면 14> Debug 실행버튼 웹서버와연동 PHP 프로그램은웹프로그램특성상웹서버에서실행해야제대로동작하고, 그결과를볼수있는경우가대부분이다. 물론이클립스에서 PHP 프로그램을만들고실행하는단계까지는문제가없다. 실행후콘솔영역에출력되는복잡한 HTML, 전혀알수없는결과값이나타나면허탈할뿐이다. 그래서여전히작성한소스코드를웹서버에전송한후실행시키는개발과정을되풀이하는것이다. PHPEclipse는작성한프로그램을웹서버와연동하여실행할수있다. 지난호에서 PHP Browser 영역에대한설명을미루며기능을비활성화했었다. PHP Browser 영역을통해이클립스에서웹서버의결과를볼수있다. 준비하기 PHP가실행되는웹서버가필요하다. 여기서는가장많이사용하는웹서버아파치를기반으로무료인 XAMPP을사용한다. XAMPP는아파치웹서버,MySQL 서버, FTP 서버, 메일서버등을쉽게설치할수있도록만들어진패키지프로그램이다. XAMPP는 http://www.apachefriends.org/en/xampp.html 에서받을수있다. XAMPP의최신버전은 1.5.5이며이안에는 PHP 5.2.0과 PHP 4.4.4 버전이들어있다. 그러므로우리가설치했던 DBG 2.13.1이지원하는 PHP 5.1.2와 PHP 4.4.2로구성된 XAMPP 1.5.2를설치한다. XAMPP의이전버전은 http: //sourceforge.net/project/showfiles.php?group_id=61776&p ackage_id=89552에서내려받을수있다. 여기서는 xamppwin32-1.5.2-installer.exe를사용한다. [ 항목 3] 은 XAMPP 1.5.2 패키지내용이다. - ADOdb 4.80 - Mercury Mail Transport System v4.01b - FileZilla FTP Server 0.9.14a - Webalizer 2.01-10 - Zend Optimizer 3.0.0 설치하기내려받은 XAMPP 파일을실행하여설치한다. XAMPP는설치과정부터한글을지원하므로어렵지않게설치할수있다. 설치가완료되면 Apche, MySQL, FTP를서비스에대한등록여부를묻는다 (< 화면 15> 참조 ). 서비스에등록하게되면, 아파치와 MySQL이제대로실행되지않는경우가발생할수있으니등록하지않도록한다. 그런데 Filezilla FTP 서버는서비스에등록해야하므로 XAMPP 컨트롤패널에서 Svc를선택하여등록한다. < 화면 16> 은 XAMPP 컨트롤패널화면이다. XAMPP 컨트롤패널에서아파치를 Start한후웹브라우저에서 http:// localhost 로접속한다. < 화면 17> 과같은화면이나오면정상적으로설치된것이다. < 화면 15> 서비스등록물음화면 < 화면 16> XAMPP 컨트롤패널화면 [ 항목 3] XAMPP 1.5.2 - Apache 2.2.0 - MySQL 5.0.20 - PHP 5.1.2 + PHP 4.4.2-pl1 + PEAR - eaccelerator 0.9.4-rc1 (not stabil with PHP 5.1.2) - PHP-Switch win32 1.0 (von Apachefriends, man nehme die php-switch.bat ) - XAMPP Control Version 2.2 from www.nat32.com - XAMPP Security 1.0 - SQLite 2.8.15 - OpenSSL 0.9.8a < 화면 17> XAMPP 이설치된화면 XAMPP는기본적으로 C:\Program Files\xampp에설치된다. xampp 폴더안에는각서버의실행파일과설정파일이존재한다. 이클립스와연동하기위해서는우선아파치웹서버의 334 m a s o

이클립스에서 PHP 개발하기 설정파일 ( 기본위치 : C:\xampp\apache\conf\httpd.conf) 을열고 DocumentRoot의값을이클립스의 Workspace 폴더위치로변경한다. 그리고 <Dicrectory> </directory> 값도변경해야한다. < 리스트 5> 는 httpd.conf 안에서변경할내용이다. < 리스트 5> XAMPP 아파치웹서버의 httpd.conf 변경내용 DocumentRoot "C:/Program Files/xampp/htdocs" => DocumentRoot "C:/workspace" ( 이클립스에서지정한 workspace 경로 ) <Directory "C:/Program Files/xampp/htdocs"> => <Directory "C:/workspace"> ( 이클립스에서지정한 workspace 경로 ) 이클립스설정하기이클립스로돌아와메뉴 Window->Preferences 창에서 PH PEclipse Web Development->Browser Preview Defaults 를선택하여두개의항목을활성화한다. 만약기본 workspace가아닌별도의경로에서작업하려한다면웹서버의 Document Root를해당폴더경로로지정한다. 그리고이클립스에서 Navi gator 영역의프로젝트이름을마우스오른쪽버튼으로클릭하여 Properties 창을열고 PHP Project Settings에서 Use pro ject settings 로변경한다. Localhost에는웹서버의 URL을입력하고 DocumentRoot에원하는작업경로를지정하면된다. < 화면 18> 은프로젝트에대한 workspace와웹서버 URL을변경하는화면이다. 여기까지완료하고편집화면으로돌아가면 < 화면 19> 처럼 PHP Browser에결과가나타난다. 웹서버와 DBG 연동하기이클립스의 PHP Browser는내장된웹브라우저이다. 이웹브라우저를통해웹서버에서 PHP 프로그램이실행된 결과를볼수있다. 이클립스의원격디버그기능을이용하면웹서버에서실행되는 PHP 프로그램을디버깅할수있다. XAMPP 1.5.2 를설치한이유도 DBG를연동하기위해서다. 웹서버에 DBG를설치하는방법은 DBG 설치와비슷하지만약간의차이가있다. php_dbg.dll_5.1.2 파일을 XAMPP의 php/ext 폴더에복사한후 php_dbg.dll로파일명을변경한다. ext와 extension 두개의폴더가있는데, PHP 5에서는 ext 폴더를사용한다. XAMPP의 apache/bin 폴더에있는 php.ini를열고앞에서설명한 < 리스트 1, 2> 처럼변경한다. 아마 exten sion_dir은경로가올바르게지정되어있을것이다. 그런데여기서주의할것이하나있다. DBG는 eaccelerator나 Zend Optimizer가활성화되어있는경우사용할수없다. XAMPP의 PHP는기본적으로 Zend Optimizer가활성화되어있으므로, php.ini에서 [Zend] 항목을찾아모두주석처리한다. < 화면 20> 은 php.ini에서 Zend Optimizer를비활성화한화면이다. php.ini를저장하고다시아파치웹서버를시작한다. phpinfo() 를실행해 DBG가정상적으로설치되었는지확인한다 (< 화면 21> 참조 ). < 화면 20> php.ini 에서 Zend Optimizer 를비활성화한화면 < 화면 18> 프로젝트 workspace 설정화면 < 화면 19> PHP Browser 에결과가출력된화면 < 화면 21> DBG 가설치된화면 342 쪽에서계속 m a s o 335