HOME > 이용안내
이용안내
 
작성일 : 14-12-12 15:45
[리눅스서버] Centos 6.x + php5.x 에서 mssql 서버 연동방법
 글쓴이 : 제이네트워크
조회 : 55,130  
[리눅스서버] 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 385

번호 제   목   글쓴이 날짜 조회
185 [리눅스서버] Centos 6.x + php5.x 에서 mssql 서버 연동방법 (1) 제이네트워크 2014-12-12 55131
184 [윈도우서버] [asp]windows2003 IIS6.X 설정백업 제이네트워크 2014-12-09 38483
183 [윈도우서버] [IIS7.X 백업] IIS7.X 설정 자동 백업 방법 제이네트워크 2014-12-09 42822
182 [스크립트언어] [asp]HTTP 오류 500.24 - Internal Server Error 관리되는 통합 파이프라인 모드에 적용… 제이네트워크 2014-12-09 60039
181 [기타] [워드프레스]워드프레스 이전 후 도메인주소(URL)변경하기 제이네트워크 2014-11-27 47160
180 [리눅스서버] [SSL]OPEN SSL 사용 Apache서버에서 CSR 인증키 생성 제이네트워크 2014-11-26 47720
179 [스크립트언어] [asp]Microsoft VBScript 런타임 오류 오류 '800a01ad' 제이네트워크 2014-11-22 48826
178 [wowza] IP CAMERA 및 DVR영상(rtsp)을 wowza server 3.x 통해서 스트리밍하기(wowza restreaming) 제이네트워크 2014-08-26 36309
177 [기타] [구글 외부 메일 주소를 사용할때 네임서버 설정] (리눅스 bind의 경우) 제이네트워크 2014-06-13 40409
176 [기타] [네임서버]네이버웍스를 사용할 경우 MX 레코드 설정 (리눅스 bind의 경우) 제이네트워크 2014-06-13 51208
175 [기타] [워드프레스]영문으로 설치된 워드프레스 한글화 하기 제이네트워크 2014-06-06 39563
174 [윈도우서버] [IIS7.0 MIME type 추가 방법] win2008 서버 IIS7.X 에서 .hwp 파일 업/다운로드 안될때 제이네트워크 2014-05-26 46627
173 [메일] [아웃룩셋팅]제이네트워크 웹메일서버 사용시 아웃룩 셋팅법 제이네트워크 2014-05-20 38943
172 [리눅스서버] 리눅스 메모리(memory)관리 및 캐시(cache)를 삭제하고 지우는법 제이네트워크 2014-04-30 52998
171 [윈도우서버] 터미널 서비스 포트변경하기 (1) 제이네트워크 2014-04-18 39902
170 [메뉴얼] TYAN IKVM Menual 제이네트워크 2014-03-31 37743
169 [메뉴얼] Asrock IKVM Menual 제이네트워크 2014-03-31 36872
168 [메뉴얼] SuperMicro IKVM Menual 제이네트워크 2014-03-31 38636
167 [기타] [워드프레스]Allowed memory size 부족 에러 제이네트워크 2014-02-17 43236
166 [DB] mysql에서 name server 질의 하지 않게 설정 제이네트워크 2014-01-24 35487
165 [윈도우서버] 윈도우서버 - 오류 있는 응용 프로그램 w3wp.exe 제이네트워크 2014-01-24 45325
164 [리눅스서버] 리눅스 서버에 메모리 뱅크 확인 제이네트워크 2014-01-24 50720
163 [리눅스서버] 리눅스 서비스 목록 및 내용 (1) 제이네트워크 2014-01-24 54302
162 [리눅스서버] 쉘에서 바로 다운로드 업로드 하기(lrzsz) 제이네트워크 2014-01-21 50947
161 [DB] Excel to mysql (import /export) 엑셀데이타를 mysql로 입력하기 제이네트워크 2014-01-18 42000
160 [윈도우서버] [윈도우업데이트]커멘드로 윈도우업데이트 실행 및 정지 제이네트워크 2013-12-19 41652
159 [리눅스서버] [ftp 서버 설정 - 리눅스서버에서 바로 ftp 명령어 사용법] 제이네트워크 2013-12-09 45853
158 [스크립트언어] [PHP]PHP코드를 최적화하는 40가지 팁 제이네트워크 2013-12-04 55530
157 [기타] 윈도우7 IE10 64bit 혹은 윈도우8 64bit 에서 엑티브엑스(activeX) 실행 안될 때 제이네트워크 2013-11-19 44643
156 [리눅스서버] 리눅스 시스템 부팅시 작업 순서 제이네트워크 2013-10-21 46430
155 [리눅스서버] 리눅스 파일시스템 체크 하기 fsck(e2fsck)사용법 제이네트워크 2013-10-21 51779
154 [리눅스서버] rsync 를 사용하여 원격지에 데이타 백업하기 (1) 제이네트워크 2013-10-21 51369
153 [리눅스서버] 리눅스에서 주기적인 작업 시 crontab(클론탭) 사용법 (1) 제이네트워크 2013-10-21 43871
152 [리눅스서버] [php설치에러]configure: error: Kerberos libraries not found. 제이네트워크 2013-10-14 44613
151 [기타] 익스플로러8(ie8)에서만 jpg 이미지가 보이지 않고 엑박 뜰 경우 조치 방법 제이네트워크 2013-09-23 49067
150 [DB] [mysql]그누보드에서 접속카운트가 올라가지 않을 때 제이네트워크 2013-08-25 38710
149 [리눅스서버] php 5.3.x 버전이면 ZendGuardLoader 를 설치하셔야 합니다 제이네트워크 2013-08-19 43877
148 [스크립트언어] [php]php설치후 에러 SAFE MODE Restriction in effect. The script whose uid is 501 is not allowed… 제이네트워크 2013-08-19 60912
147 [스크립트언어] [php]php5.3.x 버전에서 phpinfo 가 안보일 때 제이네트워크 2013-08-19 53692
146 [리눅스서버] [apache] 에러 (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "컴… 제이네트워크 2013-08-19 43280
 1  2  3  4  5  6  7  8  9  10