인생에 뜻을 세우는데 있어 늦은 때라곤 없다

WEB/PHP&ASP

Linux 서버에서 윈도우 서버의 MS-SQL과 PHP 연동하는 방법

projin 2016. 8. 2. 13:38

Linux 서버에서 윈도우 서버의 MS-SQL과 PHP 연동하는 방법입니다.

기존 윈도우 서버에서 ASP, MS-SQL로 운영되고 있는 홈페이지의 자료를 MYSQL로 이전하기 위해서 사용한 방법입니다.

 

 

PHP와 MS-SQL을 연동하기 위해서는 FreeTDS 모듈을 설치해야 합니다.

 

(1) FreeTDS설치, http://www.freetds.org/index.html 에서 FreeTDS 을 다운

 

# tar xvzf freetds-stable.tgz
# cd freetds-0.91
# ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --disable-odbc --disable-debug --enable-msdblib
# make && make install

        ( 옵션중 '--with-tdsver=8.0' 은 MSSQL 버전이 2000 인 경우)

 

 

(2) freetds.conf 설정 및 ms-sql 접속 Test

 vi /usr/local/freetds/etc/freetds.conf

 

   - 아래의 항목 추가

 [TestMSSQL]
 host = IP주소
 port = 1433
 tds version = 8.0
 client Charset = UTF-8

    * tds version : 접속 하고자 하는 SQL Server 버젼에 맞게 수정.

 

(3) MS-SQL 접속 테스트

# /usr/local/freetds/bin/tsql -H ip주소 -p 1433 -U db계정 -P 비밀번호

  

(4) mssql 모듈 설치

# 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

# cp .libs/mssql.so /PHP Extension 디렉토리

# vi /usr/local/php/lib/php.ini
     extension=mssql.so <---- 추가

# apache 재구동

 

(5) 모듈 설치 확인 - phpinfo의 mssql 항목 확인 및 php -i 옵션으로 확인

# /usr/local/php/bin/php -i | grep mssql

 

 

 

 

PHP, MSSQL 연동  확인

<?
$connection=mssql_connect("DBServer","DBuser","DBpassword");
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"성공";
?>



LIST