JNB
rss

skin by 이글루스

JEUS

WebtoB에서 PHP 연동 07.03.07 13:13
WebtoB에서 PHP 연동
 
1.      PHP 설치
A.       PHP 다운로드
원하는 PHP 모듈은 다음의 URL에서 다운 받을 수 있다.
 
• Version 5.0.1
ex) php-5.0.1.tar.gz
 
B.       PHP 설치
• 다운 받은 php 모듈 파일을 특정 위치에서 압축을 풀어줍니다.
/source$ gunzip php-5.0.1.tar.gz
/source$ tar xvf php-5.0.1.tar
php-5.0.1/php.gif
php-5.0.1/run-tests2.php
php-5.0.1/README.PARAMETER_PARSING_API
php-5.0.1/acconfig.h
php-5.0.1/README.PHP4-TO-PHP5-THIN-CHANGES
php-5.0.1/CREDITS
php-5.0.1/README.UNIX-BUILD-SYSTEM
php-5.0.1/buildconf.bat
 
• configure 과정을 진행한다.
/source$ cd php-5.0.1
/source/php-5.0.1$ ./configure --prefix=/tmax/jeus/webtob/php --with-oci8
creating cache ./config.cache
checking host system type... i686-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
 
--prefix : PHP가 설치될 Directory의 경로를 지정한다.
--with-oci8 : Oracle Library 를 사용하기 위해서 설정을 한다.
 
• PHP 모듈을 설치 한다. (install)
/source/php-5.0.1$ make
gcc  -Iext/libxml/ -I/tmax/jeus/iphp/php-5.0.1/ext/libxml/ -DPHP_ATOM_INC -I/tmax/jeus/iphp/php-5.0.1/include -I/tmax/jeus/iphp/php-5.0.1/main -I/tmax/jeus/iphp/php-5.0.1 -I/tmax/jeus/iphp/php-5.0.1/Zend -I/usr/include/libxml2 -I/oracle/product/10.1.0/db_1/rdbms/public -I/oracle/product/10.1.0/db_1/rdbms/demo -I/oracle/product/10.1.0/db_1/plsql/public  -I/tmax/jeus/iphp/php-5.0.1/TSRM  -g -O2  -c /tmax/jeus/iphp/php-5.0.1/ext/libxml/libxml.c -o ext/libxml/libxml.o  && echo > ext/libxml/libxml.lo
/source/php-5.0.1$ make install
Installing PHP SAPI module:       cgi
Installing PHP CGI into: /tmax/jeus/webtob/php/bin/
Installing PEAR environment:      /tmax/jeus/webtob/php/lib/php/
[PEAR] Archive_Tar    - installed: 1.1
[PEAR] Console_Getopt - installed: 1.2
[PEAR] PEAR           - installed: 1.3.2
 
C.       php.ini 설정
• source 디렉토리에 있는 php.ini-recommended를 새로설치된 디렉토리안의 lib디렉토리에 옮겨 놓는다.
/source/php-5.0.1$ cd /tmax/jeus/webtob/php
/tmax/jeus/webtob/php$ cp /source/php-5.0.1/php.ini-recommended php.ini
 
복사된 php.ini는 php에서 디폴트로 제공되는 php.ini 이다.
 
 
2.      WebtoB와의 연동
A.       SVRGROUP 설정
*SVRGROUP
phpg            NODENAME = "projectk", ScriptLoc = "/ap/php", SVRTYPE = PHP
 
위의 예제를 보면 SVRGROUP절에 PHP를 위한 Server Group을 설정한 것을 알 수 있다. 우선 Server Group Name으로 phpg를 설정하였다. 이는 차후에 SERVER절에서 Server Group을 표시하는데 쓰이게 된다. 그리고, SVRTYPE으로 PHP를 선언하였다. 즉, 이 Server Group은 PHP를 위한 것 이라는 명시를 한 것이다.
이 항목에서 가장 중요한 것은 ScriptLoc라는 것이다. 이는 PHP의 실제 실행 모듈의 위치를 말하는 것이다. (이 때, PHP의 실행 모듈이란 OpenSoiurce인 PHP를 Compile하여 실행 파일로 만든 것을 말한다.) 즉, PHP의 Source를 Compile하여 특정 위치에 가져다 두고, 이의 위치를 ScriptLoc라는 항목으로 설정하여야 한다는 것이다.
 
즉, 위의 예에서는 WEBTOBDIR 아래의 /cgi-bin/ 이라는 Directory에 php라는 실행 파일의 이름으로 존재한다는 것이다. 이 때 주의할 점은 반드시php의 실행 파일의 이름도 같이 명시하여야 한다는 것이다.
 
• SVRGROUP를 위와 같이 설정 한다. ScriptLoc은 WebtoB Home Directory를 Root로 보고 Path를 잡아 주면 됩니다.
ex) /tmax/jeus/webtob/ap/php -> ScriptLoc=”/ap/php”
 
B.       SERVER 설정
*SERVER
php             SVGNAME  = phpg,  MinProc = 10, MaxProc = 20
 
위의 예제는 PHP를 쓰기 위한 SERVER절의 선언이다. 우선 Server name을 php로 설정한 것을 알 수 있다. 즉, php라 명명된 Server Process가 기동되게 되는 것이다. 그리고 SVGNAME절을 통해서 Server Group을 phpg로 설정한 것을 볼 수 있다. 즉, php라 명명된 현재의 Server Process는 phpg라는 Server Group에 종속된다는 것을 알 수 있다. 따라서, phpg가 SVRTYPE이 PHP로 선언 되어 있기 때문에 이 php Server는 PHP Service를 하는 것이 된다.
 
C.       EXT 설정
*EXT
php             MimeType = "application/x-httpd-php", SvrType = PHP
php3            MimeType = "application/x-httpd-php3", SvrType = PHP
 
위의 설정은 사용자의 PHP 요구를 실제로 처리할 때 필요한 확장자 명을 지정하는 것이다. 위의 EXT절의 내용은 Appendix A에서 찾아 볼 수 있을 것이다.
 
이 설정은 사용자가 보낸 사용자의 요구를 확장자 단위로 나누어 분석할 때 필요한 것이다. 즉, 사용자가 ~.php 라는 요구를 보내는 경우 이 곳에서 분석하여 특정 Mime Type을 할당하고 특정 Service로 보내게 되는 역할을 하게 되는 것이다.
 
• php3모듈을 사용하고자 하는 경우에 *EXT의 php3를 추가하면 된다.
 
D.       WebtoB 환경파일 컴파일
변경된 사항을 적용시키기 위해서 컴파일을 해야 한다.
/tmax/jeus/webtob$ wscfl –i http.m
Current configuration:
                Number of client handler(HTH) = 1
                Supported maximum user per node = 875
                Supported maximum user per handler = 875
CFL is done successfully for node(projectk(projectk))
 
E.        php 테스트 페이지 작성
WebtoB의 DOCROOT에 설정된 디렉토리에 가서 테스트 페이지를 만든다.
/tmax/jeus/webtob/docs$ cat test.php
<?
        phpinfo();
?>
 
F.        Browser로 PHP 확인
Browser을 연후 아래의 URL을 입력한다.
 
아래와 같은 화면이 나오면 정상적인 PHP 포팅이 된것입니다.
 

        

    
Copyright 1999-2018 Zeroboard / skin by JY