맥은 기본적으로 PHP가 설치되어 있기 때문에, 귀찮아서.. 맥으로 PHP테스트 작업을 하려고 했었다.
하지만 사용하는 서버가 MSSQL인 관계로... 따로 설정해야하는 작업이 필요하다.
참고 동영상 > http://youtu.be/2sO_ByCwvAM (삭제됨..)(맥기반에서 PHP + MSSQL 사용하기)
1. http://www.freetds.org/로 이동하여, 소스파일을 다운받는다.
2. 다운로드 받은 파일을 압축해제한 후, 터미널을 이용하여 다운로드 경로로 이동한다.
3. (이후부터는 터미널 작업)
./configure --prefix=/usr/local/freetds --with-tdsver=9.0 --sysconfdir=/usr/local/freetds/conf/freetds
를 입력한다.
4. make
5. sudo make install
6. PHP를 재설치 해주어야 한다. (소스코드 다운로드) http://www.php.net/
(되도록, 기존에 설치된 PHP와 동일한 버전으로 재설치한다.)
7. 다운로드 받은 파일을 압축해제한 후, 터미널을 이용하여 다운로드 경로로 이동한다.
8. (이후부터는 터미널 작업)
./configure
9. make
10. ext/mssql 경로도 이동한다. (다운로드 받은 PHP파일 아래 위치)
11. phpize 를 입력 후, PHP Api Version을 기억해놓는다.
(phpize실행 후, configure파일이 생성되지 않은 경우, autoconf를 설치한다.)
*autoconf 설치방법(http://www.gnu.org/software/autoconf/)
./configure --prefix=/usr/local/
make
sudo make install
12. ./configure --with-mssql=/usr/local/freetds
13. make
(make 과정 중, error: ‘PHP_FE_END’ undeclared here (not in a function)가 발생하는 경우,
vi php_mssql.c을 실행한 후, 아래와 같이 define문구를 추가한다.
#define PHP_FE_END {NULL, NULL, NULL}
★연동 테스트
연동작업을 시작하기전, freetds.conf파일을 수정해주어야 한다.
/usr/local/freetds/conf/freetds로 이동한다.(freetds 버전마다 위치가 다를 수 있다.)
1. # sudo vi freetds.conf
마지막 줄로 이동하여, 아래와 같이 입력한다.
[지정이름]
host = server ip주소
port = 1433
tds version = 8.0
client charset = UTF-8
※ tds version은 mssql버전에 따라 달라진다. (버전을 잘못맞추는 경우, 한글이 깨져서 출력될 수 있다.)
mssql 2005 -> 8.0
mssql 2000 -> 8.0
mssql 7.0 -> 7.0
mssql 6.x -> 4.2
(mssql 2008 R2을 8.0으로 테스트 해본 결과, 문제없이 작동하였다. mssql 2000이상 버전의 경우, 8.0으로 셋팅해주면 될 듯 하다.)
수정 후, 아파치 서버를 재시작 한다.
2. php코드
<?
$host = "지정이름"; //위에 freetds.conf파일에서 [지정이름]과 동일하게 입력한다.
$user = "접속ID";
$password = "접속비밀번호";
$database = "접속 디비명";
$db_ms=mssql_connect($host,$user,$password);
mssql_select_db($dataname, $db_ms) or die ("DB접속에 실패하였습니다.");
$query = 'select * from 테이블명';
$rst = mssql_query($query);
while($row=mssql_fetch_array($rst))
{
echo $row[0]; //배열의 인덱스로 필드에 접근할 수 있다.
}
?>
'Web' 카테고리의 다른 글
[Mac] 웹공유 활성시키기 (0) | 2012.08.29 |
---|---|
추천 사이트 [추가중..] (0) | 2012.06.11 |
[html] html에서 php인식 시키기 (0) | 2012.05.16 |
[PHP] Mac에서 PHP사용하기 (0) | 2012.05.16 |