HOME > 이용안내
이용안내
 
작성일 : 14-12-12 15:45
[리눅스서버] Centos 6.x + php5.x 에서 mssql 서버 연동방법
 글쓴이 : 제이네트워크
조회 : 52,580  
[리눅스서버] Centos 6.x + php5.x 에서 mssql 서버 연동방법
 
리눅스의 Apache + PHP 구조에서 MS-SQL 데이터베이스를 사용하는 방법입니다.
※ 참고1
mssql 2000 로 접속할 경우 아래 버전으로 설치하셔야 합니다.
# wget http://pkgs.fedoraproject.org/repo/pkgs/freetds/freetds-0.82.tar.gz/3df6b2e83fd420e90f1becbd1162990a/freetds-0.82.tar.gz
# tar xvzf freetds-stable.tgz
# cd freetds-0.91
# ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --disable-odbc --disable-debug --enable-msdblib
(freetds-0.82 버전의 경우 --enable-dbmfix 옵션 추가)

※ 참고2
mssql 2008 의 경우 옵션을 제외해도 됩니다.
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
# make
# make install
Freetds 를 설치했으면 PHP 를 재컴파일 합니다.
PHP 를 재 컴파일 할때 아래 옵션을 주어 컴파일 하도록 합니다. 설치방법은 생략합니다.
--with-sybase=/usr/local/freetds --with-mssql=/usr/local/freetds

재컴파일이 불편하다면 아래와 같이 별도로 모듈만 삽입 할수 있습니다.
# cd /usr/local/src/php-5.2.9/ext/mssql
# /usr/local/php/bin/phpize
# ./configure --with-mssql=/usr/local/freetds --with-php-config=/usr/local/php/bin/php-config
# make
# make install
# cd /usr/local/src/php-5.2.9/ext/pdo_dblib
# /usr/local/php/bin/phpize
# ./configure --with-pdo-dblib=/usr/local/freetds --with-php-config=/usr/local/php/bin/php-config
# make
# make install
# mv /usr/local/php/lib/php/extensions/no-debug-zts-20060613/* /usr/local/php/lib/
# /usr/local/Zend/etc/php.ini
아래 내용 추가합니다.
   extension=mssql.so
   extension=pdo_dblib.so

만약에 안되면 절대 경로지정
extension=/usr/local/php/lib/mssql.so
extension=/usr/local/php/lib/pdo_dblib.so
 
2. 설정
 
 아래 파일을 수정하여 한글 깨짐을 막고 해당 서버로 연결가능하도록 추가 설정합니다.
# vi /usr/local/freetds/etc/freetds.conf  (

[global]
client charset = EUC-KR
 
[192.168.10.2]
    host = 192.168.10.2
    port = 1433
    tds version = 8.0

3. 확인
아래 명령어를 통해서 접속이 잘 되는지 확인할 수 있습니다.
# /usr/local/freetds/bin/tsql -H 192.168.10.2 -p 1433 -U neulwon -P 12345678
 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
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 파일을 설치된 디렉토리에 복사한다.
-----------------------------------------------------------------------------------------
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
---------------------------------------------------------------------------------------------------------
php-mssql 연동 테스트 소스
<?
putenv("TDSVER=80");    <- 이거는 사용하지마시고 혹시 mssql 2008 이나 연결이 안될경우 추가해보세요.
$hostname = "";
$username = "";
$password = "";
$connection = mssql_connect($hostname,$username,$password)
or die("데이타 베이스에 연결 할수 없습니다.");
print ("데이타 베이스에 연결되었습니다.");
mssql_close($connection);
print ("데이타 베이스의 연결이 해지 되었습니다.");
?>





Cloud server Streaming service Domain Cloud Firewall

제이네트워크 14-12-12 15:49
 
<?php
putenv("FREETDSCONF=/usr/local/freetds/etc/freetds.conf");
putenv("TDSVER=7.2");

$chHostName = "mssql";  (Freetds.conf 파일에 설정된 설정값)
$chUserName = "USERNAME"; 
$chUserPassword = "PASSWORD";
$chDBName = "DBNAME";

$pConnect = mssql_connect($chHostName, $chUserName, $chUserPassword);
mssql_select_db($chDBName, $pConnect);

$chQuery = "Select count(*) From DBNAME"; (DBNAME 을 넣고)
$pResult = mssql_query($chQuery);
echo mssql_result($pResult, 0, 0);

mssql_close($pConnect);

?>
 
 

Total 382

번호 제   목   글쓴이 날짜 조회
222 [윈도우서버] [windows server 2012 원격데스크톱 세션 늘리기] 제이네트워크 2015-04-27 37422
221 [윈도우서버] [IIS 8.x 설치 후 HTTP오류 404.3 오류 및 asp / asp.net 실행오류] 제이네트워크 2015-04-21 66288
220 [기타] [XE 1.8 설치시 에러]XE cannot connect to DB 제이네트워크 2015-04-11 35835
219 [DB] mysql 외부에서 접속 허용하기 (1) 제이네트워크 2015-04-08 38789
218 [리눅스서버] 리눅스서버에 VNC SERVER 설치 하기 (centos5.8~ 6.7 까지 되네요) 제이네트워크 2015-03-19 41822
217 [기타] [무비메이커설치]무비메이커3.x 설치하기 제이네트워크 2015-03-07 37328
216 [기타] 2015년 개정된 사이트에서 전자세금계산서(국세청)를 발행시 설치해야 할 Act… 제이네트워크 2015-03-04 36861
215 [PHP] Internet explorer 11 한글 링크 클릭시 두번 클릭해야 되는 현상(한글인코딩문제… 제이네트워크 2015-03-03 36351
214 [리눅스서버] Modsecurity-apache 2.5.X 설치중 에러 server: /usr/lib/libxml2.so: wrong ELF class: ELFCLASS32 제이네트워크 2015-02-17 36510
213 [리눅스서버] [named] dig 명령어 사용법 제이네트워크 2015-02-14 34987
212 [기타] 영상샘플 제이네트워크 2015-02-11 34985
211 [리눅스서버] [LINUX]리눅스 한글관련 지원관련 문제 제이네트워크 2015-02-05 38921
210 [스크립트언어] [ASP]windows2008R2 서버에서 cdo.message 사용시 에러 [CDO.Message.1 error '80040222… (1) 제이네트워크 2015-01-28 50817
209 [윈도우미디어] [windows8.x wmp설치 문제] w8에서 윈도우 미디어 플레이어 설치 제이네트워크 2015-01-26 44971
208 [네트워크] [Bonding 활용]복수개의 랜카드를 묶어 대역폭을 확보 하기 제이네트워크 2015-01-23 36941
207 [스크립트언어] [PHP 에서 순위 구하기] 제이네트워크 2015-01-23 41810
206 [스크립트언어] [PHP] php에서 Excel 파일 읽기/쓰기 (2) 제이네트워크 2015-01-23 546927
205 [리눅스서버] [Linux] 리눅스에서 Split 를 사용하여 큰 파일을 작은파일로 나누기 제이네트워크 2015-01-23 37954
204 [스크립트언어] [PHP] php 함수, 외국인 등록번호 체크 제이네트워크 2015-01-23 46020
203 [메일] [Mail] 네이버 웍스메일에서 아웃룩(outlook), 스마트폰에서 수발신 가능하게 … 제이네트워크 2015-01-23 46545
202 [리눅스서버] [Linux] Centos 에서 yum 을 이용하여 rpm 다운로드방법과 rpm 패키지 설치 및 삭… 제이네트워크 2015-01-23 39433
201 [리눅스서버] [LINUX]리눅스 명령어로 프로세서 한번에 죽이기 제이네트워크 2015-01-22 36271
200 [DB] [MSSQL]SQL 서버 관리자가 알아야 할 11가지 유용한 팁 제이네트워크 2015-01-21 39563
199 [리눅스서버] Linux 에서 NTFS파일시스템으로 마운트하기 제이네트워크 2015-01-21 43978
198 [DB] MySQL DB Table 유실로 인한 장애시 Mysql Binary 로그를 통한 복구 (2) 제이네트워크 2015-01-21 33646
197 [리눅스서버] [rsync]rsync로 서버이전시에 서버에 있는 DATA 소유권/권한 관련 문제 제이네트워크 2015-01-21 45911
196 [리눅스서버] [SSH]SSH Geoip적용 하여 국가별 IP 허용하기 제이네트워크 2015-01-21 52353
195 [스크립트언어] [PHP] phpize 를 이용한 php iconv 모듈 추가 제이네트워크 2015-01-21 47976
194 [DB] [mysql] 해당 컬럼 값을 1씩 증가시키기 와 mysql 자료형,제약조건,엔진 제이네트워크 2015-01-21 54335
193 [스크립트언어] [PHP]이온큐브 로더 ioncube loader 설치방법 입니다. (php.ini설정) 제이네트워크 2015-01-21 48154
192 [리눅스서버] Linux 로그파일의 종류 제이네트워크 2015-01-16 37476
191 [리눅스서버] Linux 파일시스템 디버깅을 이용한 파일복구법 제이네트워크 2015-01-16 37004
190 [리눅스서버] Apache / httpd 설치방법의 차이 (prefork, worker방식) 제이네트워크 2015-01-16 39197
189 [스크립트언어] PHP 5.3 이상 버전에서의 Zend Optimizer 설치 제이네트워크 2015-01-16 45222
188 [스크립트언어] PHP에서 엑셀파일을 생성할 수 있도록 도와주는 클래스입니다. 제이네트워크 2015-01-16 44210
187 [리눅스서버] [리눅스서버 - ftp] vsftpd.conf 설정의 기본 옵션 제이네트워크 2015-01-16 48353
186 [DB] [DB]mysql에서 외부 디비를 커넥션할 경우 접속 속도가 느려질때 제이네트워크 2015-01-16 45257
185 [리눅스서버] Centos 6.x + php5.x 에서 mssql 서버 연동방법 (1) 제이네트워크 2014-12-12 52581
184 [윈도우서버] [asp]windows2003 IIS6.X 설정백업 제이네트워크 2014-12-09 36246
183 [윈도우서버] [IIS7.X 백업] IIS7.X 설정 자동 백업 방법 제이네트워크 2014-12-09 40123
 1  2  3  4  5  6  7  8  9  10