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

번호 제   목   글쓴이 날짜 조회
257 [리눅스서버] 스왑메모리 초기화 혹은 swap 메모리 관리 제이네트워크 2016-05-13 31839
256 [기타] tar 특정폴더에 압축을 풀어야 할 경우 사용 옵션 제이네트워크 2016-05-10 26838
255 [DB] [mysqldump 에러] Got errno 28 on write 발생시 제이네트워크 2016-03-29 28739
254 [윈도우서버] Windows Server 2012R2 (윈도우2012 R2) IIS8.5 서버 FTP 가상디렉토리 설정 제이네트워크 2016-03-25 33972
253 [리눅스서버] [우분투]ubuntu 15.10 서버 네트워크 설정 및 ufw 방화벽 제이네트워크 2016-03-24 31092
252 [리눅스서버] 우분투15.10 서버에서 SSH접속 안될 때 [에러-서버와 매치되는 outgoing encryption … 제이네트워크 2016-03-17 33176
251 [PHP] php 에러시 Warning: date(): It is not safe to rely on the system's timezone settings 제이네트워크 2016-02-03 23389
250 [DB] phpMyAdmin 4.x 버전에서 필요없는 에러메세지 없애는 방법 제이네트워크 2016-02-01 27406
249 [쉘스크립트] /bin/sh^M: bad interpreter: No such file or directory 오류 발생 시 제이네트워크 2016-01-22 29388
248 [리눅스서버] 리눅스 에서 Apche / php / mysql 컴파일 옵션 확인하기 제이네트워크 2015-12-09 28034
247 [스크립트언어] [php-openssl] php-4.4.x openssl 추가 모듈 설치 제이네트워크 2015-12-01 32376
246 [스크립트언어] php zip 설치 (ziparchive php extension) 제이네트워크 2015-11-25 42262
245 [스크립트언어] php-5.3.x 확장모듈 cURL 설치 방법 제이네트워크 2015-11-24 39544
244 [스크립트언어] php-4.x.x 의경우 phpize 사용하여 curl 모듈 추가] 제이네트워크 2015-11-24 33698
243 [스크립트언어] php 재컴파일 없이 모듈추가 하는 방법 입니다. 제이네트워크 2015-11-24 38730
242 [스크립트언어] [php]php-5.3.x 버전 부터 Zend Guard Loader 설치 제이네트워크 2015-11-06 31937
241 [리눅스서버] [apache] mod_ruid2 모듈 설치시 에러 mod_ruid2.c:45:28: error: sys/capability.h: No such file … 제이네트워크 2015-11-06 31085
240 [메일] 센드메일-아웃룩에러 중 다른메일메세지가 배달중이거나... 제이네트워크 2015-11-03 28136
239 [스크립트언어] 각언어별 redirect 구문 제이네트워크 2015-10-06 32125
238 [메일] [sendmail]메일 수발신이 느릴때 (sendmail이 정상동작 하나 느리게 작동할 때) 제이네트워크 2015-09-22 30586
237 [DB] [mysql]mysqldump 로 백업시 lock table 에러로 백업이 안되는 경우 제이네트워크 2015-09-17 28354
236 [리눅스서버] CentOS(리눅스)버전, 혹은 APM(apache, php, mysql) 버전 확인하려고 할때 사용하는 … 제이네트워크 2015-09-07 30208
235 [스크립트언어] mysql 설치 후 phpMyAdmin #2002 MySQL 서버에 로그인할 수 없습니다. 해결법 (1) 제이네트워크 2015-09-03 44932
234 [리눅스서버] 리눅스서버에서 chracterset 을 맞출려고 할 때 제이네트워크 2015-08-25 30676
233 [윈도우서버] windows 2008/2012 서버 셋팅후 403 forbbiden 에러시 제이네트워크 2015-07-22 31909
232 [DB] [mysql] Mysql 에러코드 중에 (Got error 134 from storage engine) 나올때 처리법 제이네트워크 2015-06-04 26958
231 [DB] [mysql-5.6.x 설치 후 에러로 실행 안될때 ][Warning] TIMESTAMP with implicit DEFAULT value … 제이네트워크 2015-05-22 37524
230 [리눅스서버] [apche 1.3.x | 2.0.x 2.2 x.2.4.x ] 아파치 버전별 차이점 제이네트워크 2015-05-19 38208
229 [DB] [MS-SQL SERVER 2008 로그 파일 사이즈 줄이기] 제이네트워크 2015-05-12 28726
228 [윈도우서버] IIS7.x / IIS8.x 에서 asp 호스팅시 "Response 버퍼 제한 초과됨 " 오류 제이네트워크 2015-05-11 32531
227 [윈도우서버] [windows2008] SQL Server 액세스를 허용하도록 Windows 방화벽 구성 제이네트워크 2015-05-04 31749
226 [윈도우서버] [iis7.x ASP 에러] An error occurred on the server when processing the URL 제이네트워크 2015-05-04 31345
225 [DB] [mysql] 테이블 복사하기 (데이타포함, 비포함) 제이네트워크 2015-04-28 28460
224 [스크립트언어] [jquery] 파일 업로드 전에 파일사이즈 체크하기 제이네트워크 2015-04-28 41034
223 [윈도우서버] Windows Server 2008/2012 (64bit OS) - IIS7에서 32bit ASP 응용프로그램 사용법 제이네트워크 2015-04-27 31854
222 [윈도우서버] [windows server 2012 원격데스크톱 세션 늘리기] 제이네트워크 2015-04-27 33369
221 [윈도우서버] [IIS 8.x 설치 후 HTTP오류 404.3 오류 및 asp / asp.net 실행오류] 제이네트워크 2015-04-21 38150
220 [기타] [XE 1.8 설치시 에러]XE cannot connect to DB 제이네트워크 2015-04-11 31661
219 [DB] mysql 외부에서 접속 허용하기 (1) 제이네트워크 2015-04-08 33604
218 [리눅스서버] 리눅스서버에 VNC SERVER 설치 하기 (centos5.8~ 6.7 까지 되네요) 제이네트워크 2015-03-19 37106
 1  2  3  4  5  6  7  8  9  10