Windows 에서 Apache, PHP 를이용하여 CUBRID 사용하기 소개 : Windows 환경에서 Apache 웹서버와 PHP 를이용하여 CUBRID 를사용하기위하여 PHP CUBRID module 를 설치하는방법및간단한 CUBRID 연동방법을소개한다. 연동에대한상세한방법은매뉴얼상의 PHP API 부분을 참고하기바란다 2008-10-20 기술컨설팅팀남재우, CUBRID 적용대상 : WindowsXP/WindowsVista32, CUBRID2008, Apache2.2.10, PHP5.2 목차 Apache 설치하기... 1 PHP 설치하기... 3 CUBRID PHP module 설치하기... 4 CUBRID 구동... 5 간단예제... 6 select.php... 6 insert.php... 8 Apache 설치하기 Windows 환경에서 Apache web server 를설치하는방법을소개한다. Apache web server 는 Apache download 로부터내려받을수있다. 보통 Apache HTTP Server 2.2.10 is the best available version 아래 Win32 Binary 를내려받은후, 내려받은파일 ( 예, apache_2.2.10-win32-x86-no_s.msi) 을 double-click 하여실행시키면설치가시작된다. License Agreement 에동의한후, 다음으로넘어간다. Network domain 과 Server Name 에 localhost 라고입력하고 Administrator's Email address 은관리자 ( 혹은 본인 ) 의 E-mail 을입력한다. 그런다음설치는일반설치 (Typical) 를선택한다.
설치디렉토리를선택하는데기본설정을그대로사용한다. 그런다음 Install 을 click 하여설치를진행한다. 설치가완료되면 Apache web server 가구동된후시스템트레이에 ApacheMonitor 아이콘이초록색화살표로생긴다. 웹브라우져를구동시킨후주소창에 http://localhost 를입력한다. 아래와같이 It works! 가표시되면정상적으로설치된것이다.
PHP 설치하기 PHP 를설치하기위해서는우선 Apache web server 를종료시킨다. 종료시키기위해서는 tray 의 Apache monitor icon 을마우스오른쪽클릭후 Open Apache Monitor 를선택하여보여지는창에서 Stop 을선택한다. PHP 는 PHP download 를통하여내려받을수있다. 보통가장최신버전이보이고, Windows Binaries 아래의것 ( 예, PHP 5.2.6 zip package) 을내려받으면된다. 내려받은 Zip 파일을 C:\PHP 아래에풀어준다. 압축을푼후 C:\PHP\php.ini-dist 파일을 C:\windows 아 래에 php.ini 로복사한다. 그런다음 C:\PHP\php5ts.dll 파일을 C:\windows\system32 아래에복 사한다. 마지막으로 Apache web server 를설치한폴더 ( 예, C:\Program Files\Apache Software Foundation\Apache2.2) 아래 conf 폴더에있는 httpd.conf 를편집기로연후파일의맨마지막에 아래의내용을추가한후저장한다. LoadModule php5_module C:/php/php5apache2_2.dll AddType application/x-httpd-php.php 종료시켰던 Apache web server 를재구동시킨다. 구동시키기위해서는 tray 의 Apache monitor icon 을 마우스오른쪽클릭후 Open Apache Monitor 를선택하여보여지는창에서 Start 을선택한다. 설치후 PHP 설치및연동여부를확인하기위하여아파치를설치한폴더 (C:\Program Files\Apache Software Foundation\Apache2.2) 아래 htdocs 폴더에 phpinfo.php 를작성하여수행하여본다. phpinfo.php 의내용은아래와같다.
<? phpinfo();?> 웹브라우져를구동시킨후주소창에 http://localhost/phpinfo.php 를입력한다. 아래와같이 PHP Version 이표시되면정상적으로설치된것이다. CUBRID PHP module 설치하기 CUBRID PHP module 은 CUBRID download 아래 PHP 모듈다운로드 에서 windows 용 ( 예, cubrid_php5.2.zip) 을내려받는다. 내려받은후 PHP 를설치한디렉토리 ( 예, C:\PHP) 아래 CUBRID 라는폴더를만든후, 내려받은파일을생성한 CUBRID 폴더아래에풀어준다. C:\windows\php.ini 를편집하여 CUBRID PHP module 에대한정보를입력후저장한다. extension_dir=c:\php\cubrid extension= cubrid_php5.2_zts.dll [CUBRID] cubrid.err_path=c:\php\cubrid 저장후 Apache web server 를재구동하여, phpinfo.php 를수행하여아래와같이 CUBRID 항목이보이는지를확인한다.
만약보이지않는다면 Apache web server 의 error log( 예, C:\Program Files\Apache Software Foundation\Apache2.2\logs\error_log) 의내용을참고하여원인을해결한다. CUBRID 구동 CUBRID 와연동을하기위해서는 CUBRID service 가구동되어있어야하며, Windows 의경우자동으로구동된다. 다만데이터베이스는구동되지않으므로 CUBRID Manager Client 를이용하여구동시켜주면되며, 사용법은다음과같다. 참고로 CUBRID Manager Client 는 JAVA 로개발되어수행시키기위해서는 JAVA RunTime 환경이필요하다. JAVA RunTime 은 JAVA download 에서내려받을수있으며, Java SE Runtime Environment (JRE) 을내려받으면된다. CUBRID Manager Client 는 windows system tray 의 CUBRID icon 을우클릭하여보이는메뉴에서선택하여수행시킨다. 보이는 localhost 에로그인한다. 처음설치시라면그냥 연결 을클릭하면된다. 화면오른쪽에데이터베이스를선택하면, 데이터베이스에대한로그인화면이보이고, 초기설치시에는 데이터베이스사용자암호가설정되어있지않으므로여기서는그냥 확인 을선택하면된다.
데이터베이스에로그인후, 데이터베이스를우클릭하여보이는메뉴중 데이터베이스서버가동 을 선택하여, 데이터베이스를구동시킨다. 간단예제다음은실제 PHP 와 CUBRID 를연동하는것을간단하게구성한예제다. 가장기본적인기능과특별히주의해야할내용만을다룬다. 아래소스들을 DOCUMENT_ROOT( 예, C:\Program Files\Apache Software Foundation\Apache2.2\htdocs) 에작성한다. 예제에서사용된 IP address 는 localhost 를그대로사용하였다. 혹은실제사용하는 IP address 를적어주면된다. 웹브라우져에서 http://localhost/select.php 와같은형식으로테스트하면된다. select.php <html><head><meta http-equiv='content-type' content='text/html; charset=euc-kr'></head> <body> <center> <table border=2> <? //.CUBRID 에접속하기위한서버정보를설정한다. IP address 는 CUBRID(CUBRID BROKER) 서버가설치되어있는곳의 IP address( 여기서는 localhost) 이며, port 는 CUBRID(CUBRID BROKER) 서버로접속하기위한 port 번호이다. port 번호는설치시의 default 값이며정확한의미등을알기위해서는 CUBRID 관리자안내서를참고하기바람. $host_ip = "localhost"; $host_port = 33000; $db_name = "demodb"; // CUBRID 서버에접속한다 $cubrid_con = @cubrid_connect($host_ip, $host_port, $db_name); if (!$cubrid_con) {
echo "DB 접속오류 : ". cubrid_error_msg(); exit;?> <? $sql = "select code, name, players from event"; // SQL 문장에대하여 CUBRID 서버로결과를요청한다. $result = cubrid_execute($cubrid_con, $sql); if ($result) { // SQL 처리결과로만들어진결과셋에대하여 column 이름들을얻어온다. $columns = cubrid_column_names($result); // SQL 처리결과로만들어진결과셋에대하여 column 개수를얻어온다. $num_fields = cubrid_num_cols($result); // 화면에결과셋의각 column 이름을보여준다. echo("<tr>"); while (list($key, $colname) = each($columns)) { echo("<td align=center>$colname</td>"); echo("</tr>"); // 결과셋에서결과 row 를가져온다. while ($row = cubrid_fetch($result)) { echo("<tr>"); for ($i = 0; $i < $num_fields; $i++) { echo("<td align=center>"); echo($row[$i]); echo("</td>"); echo("</tr>");
// CUBRID 는 3-tier 구조로동작이되며, transaction 처리를위하여 select 를하더라도 transaction 의일부로처리를한다. 따라서원활한동작과성능을위하여 select 처리를하였더라도 commit( 또는 rollback) 처리를하여 transaction 을정리해주어야만한다. 자세한사항은 CUBRID admin guide 를참고하기바람 cubrid_commit($cubrid_con); cubrid_disconnect($cubrid_con);?> </body></html> insert.php <html><head><meta http-equiv='content-type' content='text/html; charset=euc-kr'></head> <body> <center> <table border=2> <? //.CUBRID 에접속하기위한서버정보를설정한다. IP address 는 CUBRID(CUBRID BROKER) 서버가설치되어있는곳의 IP address( 여기서는 localhost) 이며, port 는 CUBRID(CUBRID CAS) 서버로접속하기위한 port 번호이다. port 번호는설치시의 default 값이며정확한의미등을알기위해서는 CUBIRD admin guide 를참고하기바람. $host_ip = "localhost"; $host_port = 33000; $db_name = "demodb";
// CUBRID 서버에접속한다. $cubrid_con = @cubrid_connect($host_ip, $host_port, $db_name); if (!$cubrid_con) { echo "DB 접속오류 "; exit;?> <? $sql = "insert into event(code, sports, name, gender, players) values(10000, ' 태권도 ',' 무한체급 ', 'M', 2)"; // SQL 문장에대하여 CUBRID 서버로처리를요청한다. $result = @cubrid_execute($cubrid_con, $sql); if ($result == true) { // 정상적으로처리되었으므로 commit 처리한다. cubrid_commit($cubrid_con); echo(" 성공적으로입력되었읍니다 "); else { // 에러가발생하였으므로에러메세지를보여준후, rollback 처리한다. echo(cubrid_error_msg()); cubrid_rollback($cubrid_con); cubrid_disconnect($cubrid_con);?> </body></html>
All rights reserved.