FreeTDS 설치 (PHP와 MS-SQL 연동)
Apache + PHP 사용시 원격 MSSQL 데이터베이스에 접근 하는 방법중 FreeTDS를 이용한 방법이 있습니다.
설치법도 간단하고 간단한 설정법으로 한글깨짐현상도 해결할 수 있습니다.
[설치]
/usr/local/src# wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
/usr/local/src# tar xvfpz freetds-stable.tgz
/usr/local/src/freetds# ./configure
--prefix=/usr/local/freetds
--with-tdsver=8.0
--disable-odbc
--disable-debug
--enable-dbmfix
--enable-msdblib
/usr/local/src/freetds# make
/usr/local/src/freetds# make install
[참고]
mssql 2005 의 경우 --with-tdsver=8.0
mssql 2000 의 경우 --with-tdsver=8.0
mssql 7.0 의 경우 --with-tdsver=7.0
mssql 6.0 의 경우 --with-tdsver=4.2
configure 단계에서 'Directory /usr/local/freetds is not a FreeTDS installation directory' 라는 메시지가 나올경우
# cp /usr/local/src/freetds/include/tds.h /usr/local/freetds/include/
또는
# cp /usr/local/src/freetds/src/tds/.libs/tds.h /usr/local/freetds/include/
tds.h 파일을 설치된 디렉토리에 복사한다.
[설치 계속]
freetds.conf 파일에 client charset=EUC-KR을 추가하여 한글깨짐 현상을 막을 수 있습니다..
( /usr/local/freetds/etc/freetds.conf )
[global]<br />client charset = EUC-KR<br />
PHP 설치
/usr/local/src/php# ./configure
--prefix=/usr/local/php
--with-apxs2=/usr/local/bin/apxs
--with-sybase=/usr/local/freetds
--with-mssql=/usr/local/freetds <- 하단 참고사항 확인
/usr/local/src/php# make
/usr/local/src/php# make install
[참고] php 5.X --with-mssql 오류시 해결 방안
php 5.X에서 mssql연동을 위해 freetds를 설치할 경우에 php configure에 --with-mssql=/usr/local/freetds로 주었을때 해당 경로에 설치가 되어있음에도 불구하고 해당 경로에 설치가 되어있지 않다고 나오는 경우가 발생합니다.
에러 메세지
error Directory /usr/local/freetds is not a FreeTDS installation directory
해당 문제는 tds.h, libtds.a가 해당 설치경로에 있지 않아 설치되어 있는데도 설치되어 있지 않은것으로 인식되는 문제로 보입니다.
아래와 같이 해당 파일들을 경로로 복사해 주면 문제가 해결 됩니다.
cp /usr/local/src/freetds-xxx/include/tds.h /usr/local/freetds/include
cp /usr/local/src/freetds-xxx/src/tds/.libs/libtds.a /usr/local/freetds/lib
위와 같이 한 후에 make 과정중에 sysbase 오류가 발생한다면 configure 시에 --with-mssql과 --with-sybase를 같이 넣어 줍니다.
[참고 - PHP와 MS-SQL연동을 위해 odbc를 이용한 방법 - 오래된메뉴얼]
http://cafe.naver.com/webmas.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=1000
[출처] 정상을 위한 독주2 (http://blueb.net/blog/1321) | 블루비
[추가/수정] 차동훈 (http://system.neulwon.com)
--------------------------------------------------------------------------------------
php - mssql 연동 테스트 소스
<?
$connection=mssql_connect("MyServer","msconn","msconn");
print ("db open");
mssql_connect($connection);
print ("db close");
$status = mssql_select_db("master",$connection);
if (!$status) {
$errNO = mssql_errno($connection);
$errMSG = mssql_errno($connection);
echo("데이터 베이스 연결 실패");
echo("에러메세지 $errNO : $errMSG");
exit;
}
$que = mssql_query("select * from sysfiles");
$row = mssql_fetch_row($que);
echo"
$row[0] $row[1] $row[2]";
echo"
성공";
?>
[발췌] Nugi's World | 야서누기 (http://blog.daum.net/evasuri/10243883)
'# Operation System > Linux' 카테고리의 다른 글
리눅스 ipv6 비활성화 (0) | 2015.08.16 |
---|---|
geoip설치 (2) | 2015.08.16 |
vi - 파일포맷변환 커맨드 (0) | 2015.08.16 |
리눅스 포트확인 (0) | 2015.08.16 |
리눅스 커널패닉 발생시 대처방법 (0) | 2015.08.16 |
안녕하세요. 이곳은 IT위주의 잡다한 정보를 올려두는 개인 블로그입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!