Innovating today, leading tomorrow

Tibero - 인터페이스,연동
[Tibero] PHP-ODBC 연동 가이드 (2)

[Tibero] PHP-ODBC 연동 가이드 (2)

2. PHP

2.1. PHP 설치

2.1.1. PHP 다운로드

아래 ‘PHP 바이너리 다운로드’ 버튼을 클릭해 php 사이트에서 다운로드 받습니다.

2.1.2. PHP 설치 (3개 파일 수정)

다운받은 PHP 바이너리를 서버에 업로드 하고 압축을 해제합니다.

php-x.x.x 라는 디렉토리가 생성되고, 이는 php버젼마다 다르게 생성됩니다.
해당 디렉토리로 이동 후 다음 3가지 파일을 수정합니다.

php-x.x..x/ext/odbc/php_odbc.h

defined(HAVE_CODBC) 옵션을 추가합니다.

php-x.x..x 디렉토리 내 php-x.x..x/ext/odbc/php_odbc.h 파일 수정 예시
그림3. php-x.x..x 디렉토리 내 php-x.x..x/ext/odbc/php_odbc.h 파일 수정 예시

php-x.x..x/ext/odbc/php_odbc_includes.h

아래 두 가지의 설정 값을 변경합니다.

  • odbc.h->sqlcli.h로 변경
  • defined(HAVE_CODBC) 옵션 추가
php-x.x..x 디렉토리 내 php-x.x..x/ext/odbc/php_odbc_includes.h 파일 수정 예시
그림4. php-x.x..x 디렉토리 내 php-x.x..x/ext/odbc/php_odbc_includes.h 파일 수정 예시

php-x.x..x/ext/odbc/php_odbc.c

defined(HAVE_CODBC) 옵션을 추가합니다.

php-x.x..x 디렉토리 내 php-x.x..x/ext/odbc/php_odbc.c 파일 수정 예시
그림5. php-x.x..x 디렉토리 내 php-x.x..x/ext/odbc/php_odbc.c 파일 수정 예시

위 3개의 파일 모두 수정 후, 다음의 환경변수를 설정합니다.

(이는 설치 시에만 필요한 환경변수 이므로 OS User의 profile에 설정할 필요는 없습니다.)

export CUSTOM_ODBC_LIBS=-ltbodbc

2.1.3. PHP 설치 (configure 수행)

다시 php-x.x.x디렉토리로 이동해 configure를 수행합니다. 이전에 php를 설치한 이력이 있다면 make distclean을 통해 기존의 설정을 모두 초기화 합니다.

configure 수행 옵션 (하단 2개의 코드 중 택 1)

./configure --with-custom-odbc=$TB_HOME/client

또는

./configure --with-custom-odbc=$TB_HOME/client --prefix=설치하고싶은위치

OS가 minimum 모드로 설치되어 있는 경우라면 configure를 수행하는 도중 다음과 같은 오류가 발생 할 수 있습니다.

gcc 패키지 미설치

root 계정으로 gcc 패키지를 설치해 해결합니다.

gcc 패키지 미설치 해결 예시
gcc 패키지 미설치 해결 예시
그림6. gcc 패키지 미설치 해결 예시

libxml 패키지 미설치

root 계정으로 libxml 패키지를 설치해 해결합니다.

libxml 패키지 미설치 해결 예시
그림7. libxml 패키지 미설치 해결 예시

Don’t know 오류

configure 수행 시 아래의 옵션을 추가하여 수행해 해결합니다.

./configure        --with-custom-odbc=$TB_HOME/client--prefix=/home/test/php--enable-opcache=no
정상적으로 configure 수행 완료 시 출력화면
그림8. 정상적으로 configure 수행 완료 시 출력화면

2.1.4. 컴파일 및 설치

make 명령어를 사용해 compile 하고 make install 명령어를 통해 php 설치를 완료할 수 있습니다.

$make
$make install
정상적으로 make 완료 시 출력회면
그림9. 정상적으로 make 완료 시 출력회면

make install 까지 모든 작업이 정상적으로 완료 시 출력회면
그림10. make install 까지 모든 작업이 정상적으로 완료 시 출력회면

Note!

make는 다른 작업에 비해 많은 시간이 소요됩니다. (약 5분 소요)

Make 과정에서 오류 발생 시, 환경변수 설정이 제대로 되어 있는지 확인합니다.

Make install 시 권한 거부가 발생할 수 있으며, 이는 순차적으로 권한 부여하며 해결 가능합니다.

2.2. 연동 테스트

Note!

테스트 이전에, test.php에 적합한 Tibero 접속 정보를 확인해야 하며 테스트용 테이블이 미리 생성되어 있어야 합니다.

php를 설치 후, OS User의 PATH 환경변수에 php 경로를 추가해야 되는 경우가 발생할 수 있습니다.

2.2.1. test.php 파일 생성

다음은 연동테스트 예시로서, 테스트를 위한 test.php 파일을 생성합니다.

<?

$sid = "tibero_php"; 
$user = "tibero"; 
$password = "tmax";

$connect = odbc_connect($sid, $user, $password);

echo "Tibero Connect Successn"; 

$sql = "select emp_id from emp";
$exec = odbc_exec($connect, $sql); 

while($row=odbc_fetch_array($exec))
{
echo "EMP_ID = ".$row['EMP_ID']."n"; 
}

odbc_close($connect);

echo "TiberoDisConnect Successn"; 

?>

2.2.2. php 명령 실행

위에서 생성한 test.php 파일은 다음의 php 명령을 통해 콘솔에서 바로 확인 할 수 있습니다.

php –q –c . test.php

php 연동테스트 예시 화면
그림11. php 연동테스트 예시 화면

☞[Tibero]PHP-ODBC 연동 가이드 (1)로 돌아가기

광고성 정보 수신

개인정보 수집, 활용 목적 및 기간

(주)티맥스티베로의 개인정보 수집 및 이용 목적은 다음과 같습니다.
내용을 자세히 읽어보신 후 동의 여부를 결정해 주시기 바랍니다.

  • 수집 목적: 티맥스티베로 뉴스레터 발송 및 고객 관리
  • 수집 항목: 성함, 회사명, 회사 이메일, 연락처, 부서명, 직급, 산업, 담당업무, 관계사 여부, 방문 경로
  • 보유 및 이용 기간: 동의 철회 시까지

※ 위 개인정보 수집 및 이용에 대한 동의를 거부할 권리가 있습니다.
※ 필수 수집 항목에 대한 동의를 거부하는 경우 뉴스레터 구독이 제한될 수 있습니다.

개인정보의 처리 위탁 정보
  • 업체명: 스티비 주식회사
  • 위탁 업무 목적 및 범위: 광고가 포함된 뉴스레터 발송 및 수신자 관리
 

개인정보 수집 및 이용

개인정보 수집, 활용 목적 및 기간

(주)티맥스티베로의 개인정보 수집 및 이용 목적은 다음과 같습니다. 내용을 자세히 읽어보신 후 동의 여부를 결정해 주시기 바랍니다.

  • 수집 목적: 티맥스티베로 뉴스레터 발송 및 고객 관리
  • 수집 항목: 성함, 회사명, 회사 이메일, 연락처, 부서명, 직급, 산업, 담당업무, 관계사 여부, 방문 경로
  • 보유 및 이용 기간: 동의 철회 시까지

※ 위 개인정보 수집 및 이용에 대한 동의를 거부할 권리가 있습니다.
※ 필수 수집 항목에 대한 동의를 거부하는 경우 뉴스레터 구독이 제한될 수 있습니다.

개인정보의 처리 위탁 정보

  • 업체명: 스티비 주식회사
  • 위탁 업무 목적 및 범위: 광고가 포함된 뉴스레터 발송 및 수신자 관리
  •