CentOS 환경에서 PHP 재컴파일 없이 MS-SQL 연동 설정

유닉스/리눅스 계열의 OS 환경에서 MS-SQL을 연동하기 위해서는 FreeTDS 라이브러리가 필요합니다.

1. FreeTDS 설치

CentOS에서는 완전 간단하죠. root 권한으로 아래 명령만 실행하면 끝. /usr/local/freetds 디렉토리에 설치됩니다.

yum install freetds  #안됩니다... ㅡ,.ㅡ;

2012-11-15 수정. 

yum으로  설치하는 경우 /usr/local/freetds 디렉토리에 설치되지 않다는 것을 아주 늦게 발견했습니다. 죄송… 이 경우는 yum 설치가 아닌 소스 설치를 하시는 게 맞습니다. 관련하여 참고 링크(클릭)를 덧붙이니 링크한 글의 3번 항목을 참고하여 FreeTDS를 설치한 후에 아래 내용으로 이어서 보시면 됩니다.

2. PHP 모듈 설치

PHP를 새로 설치하는 경우에는 configure 명령에서 –-with-mssql=/usr/local/freetds 옵션을 추가하고 다시 컴파일을 하면 되지만, PHP를 재설치하기 싫어서 이러는 것이니(이유는 그냥…) 모듈만 추가하는 방식을 설명합니다. PHP 소스의 위치나 PHP의 기존 설치 위치는 환경에 따라 다를 수 있습니다.

cd /usr/local/src/php-5.3.3
cd ext/mssql
/usr/local/php/bin/phpize
./configure –-with-mssql=/usr/local/freetds
make
make install

PDO(PHP Data Object) 모듈은 꼭 설치하지 않아도 된다고는 하는데 일단 설치했습니다.

cd /usr/local/src/php-5.3.3
cd ext/pdo_dblib
/usr/local/php/bin/phpize
./configure –-with-pdo-dblib=/usr/local/freetds
make
make install

위 명령들을 실행하면 마지막에 확장 모듈의 위치가 표시되므로 이 경로에 맞춰 php.ini 파일에 해당 내용을 넣으면 됩니다. 제 경우는 ‘/usr/local/php/lib/php/extensions/no-debug-zts-20090626/’였습니다.

extension=/usr/local/php/lib/php/extensions/no-debug-zts-20090626/mssql.so
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20090626/pdo_dblib.so

3. freetds.conf 파일 설정 및 PHP에서의 사용

/usr/local/freetds/etc/freetds.conf 파일을 입맛에 맞게(!) 설정하고 웹서버를 재구동한 후, PHP에서 사용하면 됩니다. conf 파일은 한 번 들여다 보면 대충 알 수 있고, PHP 사용 부분은 제가 개발자가 아닌 관계로 패스합니다. ^^;;

본문과 상관이 있을 수도 없을 수도 있는 만화

제 글이 유용하셨다면 아래 손가락 모양을 꾸욱~ 눌러주세요.

뗏목지기: 만화를 좋아하고 세상 돌아가는 일에 관심이 많은 평범한 직장인입니다.

View Comments (0)