응용개발

CUBRID-PHP-Driver 연동가이드

by cubebridge posted Nov 13, 2012


웹서버와 PHP를설치한 후에 환경에 맞는 CUBRID-PHP –Driver를 빌드하는 방법을 소개한다.

 

CUBRID PHP 드라이버가 CUBRID CCI API를의존하기 때문에 CUBRID 데이터베이스가 설치되어 있어야만 한다.

 

 

0. 가이드 환경

   - Window : Windows 7 (32bit)

                       Apache 2.2.17

                       PHP 5.3.10 (TS, VC9)

   - Linux : CentOS 5.3 Final (64bbit0

                 Apache 2.2.22

                 PHP 5.3.8 (NTS)

   - CUBRID : Engine 다운로드 (아래 방법들은 모두 8.4.1.2032 버전 기반이다.)

                     PHP Driver 다운로드 (아래 방법들은 모두 8.4.1.0003이고, 2-2번은 8.4.1.2032기반이다.)

 

 

1. Window - 빌드된 파일로 연동하기

 

   ①. PHP 환경 확인하기

 

        PHP설치시 어떤 사양의 파일을설치했는지 phpinfo() 함수를 사용하여 확인한다확인해야 하는 항목은 아래와 같다.

 

Apache Version

Apache/2.2.17 (Win32PHP/5.3.10

PHP Extension Build

API20090626,TS,VC9

VC6 : Visual C++ 6.0 을 지원
- VC9 : Visual C++ 2008 
을 지원
- TS(Thread Safe) : ISAPI 
방식으로
 사용할 때
- NTS(NonThread Safe) : 
CGI,FastCGI 방식으로 사용할 때

   ②.CUBRID-PHP-Driver 연동하기

        PHP 설치 환경에 따라 CUBRID-PHP5-5.3-WIN32-VC9-TS-8.4.1.0003.bin.zip를 다운로드한다.

        (CUBRID-PHP-Driver 받기) 다운로드 파일을 압축을 푼 후php_cubrid.dll PHP모듈이 집합된 폴더에 저장한다.

        마지막으로 php.ini설정파일에 CUBRID드라이버를 추가한다.

 

[CUBRID]

extension_dir = “C:AutoSet6Serverbinext”

extension = php_cubrid.dll

 

 

2-1. Linux 빌드된 파일로 연동하기

 

     ①. PHP 환경 확인하기

 

           Window빌드에서와 마찬가지로아래 항목을 확인하며 Linux에서는 VC의 항목은 제외한다.

 

System

Linux Wed Jan 21 10:41:14 EST 2009 x86_64

Apache Version

Apache/2.2.22 (Unix) PHP/5.3.8

PHP Extension Build

API20090626,NTS

TS(Thread Safe) : ISAPI 방식으로 사용할 때
- NTS(NonThread Safe) : 
CGI,FastCGI 방식으로 사용할 때

     ②.CUBRID-PHP-Driver 연동하기

         PHP 설치 환경에 따라 CUBRID-PHP5-5.3-LINUX-X64-8.4.1.0003.bin.zip를 다운로드 한다.

         (CUBRID-PHP-Driver 받기) 다운로드 후 압축을 푼 후 cubrid.so PHP모듈이 집합된 폴더에 저장한다.

[root@~]# wget ftp://ftp.cubrid.org/CUBRID_Drivers/PHP_Driver/8.4.1/Linux/CUBRID-PHP5-5.3-LINUX-X86-8.4.1.0003.bin.zip

[root@~]# unzip CUBRID-PHP5-5.3-LINUX-X64-8.4.1.0003.bin.zip

[root@~]# cd RB-8.4.1

[root@~]# ls –al

-rwxrwxr-x 1 root root 258114 Apr 23 17:10 cubrid.so

[root@~]# mv cubrid.so /usr/local/lib/php/extensions/

 

           마지막으로 php.ini설정파일에 CUBRID드라이버를 추가한다.

[CUBRID]

extension_dir = "/usr/local/lib/php/extensions/"

extension = cubrid.so

           

           웹서버를 재시작 한 후 phpinfo()함수를 사용하여 아래와 같은 화면을 확인했다면 빌드가된 것이다.

              cubrid_linux빌드완료.jpg

                                              [그림1]Linux에서CUBRID-PHP-Driver 설치확인

 

2-2. Linux - 빌드 후 연동하기

          내가 설치한 PHP버전만 확인한 후 최신 버전의 CUBRID-PHP-Driver소스 파일을 다운로드 하고 압축을 풀어준다.

          압축을 해제하여 PHP버전에 맞게 디렉토리로 이동한다.(PHP4 or PHP5)

[root@~]#wget ftp://ftp.cubrid.org/CUBRID_Drivers/PHP_Driver/8.4.1/Linux/CUBRID-PHP5-8.4.1.0003.src.tar.gz

[root@~]# tar zxvf CUBRID-PHP5-8.4.1.2032.src.tar.gz

[root@~]# cd cubrid-php-8.4.1.2032/ php5/

           phpize를 실행한다다음 php설정에 cubrid를추가하고 빌드를 한다.

[root@php5]# phpize

[root@php5]# ./configure  --with-cubrid --with-php-config=

/usr/local/bin/php-config

[root@php5]# make

Build complete.

                 PHPIZE: PHP확장모듈을 위한 빌드 환경을 마들어주는 유틸 ([root@~]# yum install php-devel)

 

           생성된 modules 디렉토리에서 cubrid.so를 확인하고 PHP디렉토리에 복사한다. [2-1]에서의

          php.ini설정과 동일하게 설정하고 웹서버를 재시작 한다빌드가잘 수행 되었을 경우[그림1]의 모습을 확인할 수

          있다.

[root@php5]# cd modules/

[root@modules]# ll

total 264

-rw-r--r-- 1 root root    955 Apr 24 14:52 cubrid.la

-rwxr-xr-x 1 root root 260094 Apr 24 14:52 cubrid.so

[root@modules]#

[root@modules]# cp cubrid.so /usr/local/lib/php/extensions/

 

 

2-3. Linux PECL을 이용한 연동하기

           PECL 패키지가 설치된 환경에서연동하는 방법이다.

             CUBRID PHP 드라이버 최신 버전 다운로드

[root@php5]# sudo pecl install cubrid

CUBRID base install dir [autodetect] : /root/was_source/CUBRID

Build process completed successfully

~

Installing '/usr/local/server/php/lib/php/extensions/no-debug-non-zts-20090626/cubrid.so'

     

          위와 같이 설치시 CUBRID가설치된 경로를 설정해주고 빌드가 성공하면 설치된 경로에 맞게 php.ini파일도

          설정해준다그리고 웹서버를 재시작 한 후 phpinfo()함수를 사용하여 [그림1]와 같은 화면을 확인한다.

[CUBRID]

extension_dir = "/usr/local/server/php/lib/php/extensions/no-debug-non-zts-20090626/"

extension = cubrid.so

            큐브리드 공부하기 까페 참조: http://cafe.naver.com/studycubrid/903


Articles

1 2 3