Windows 2003 IIS 6.0 + php + MS-SQL 연동
윈도우 이야기/Web Server2016. 7. 22. 14:01
필요한 파일 준비
Fast CGI Extension 설치
fcgisetup_1.5_rtw_x86.msi
http://www.iis.net/downloads/microsoft/fastcgi-for-iis
VC6 x86 Non Thread Safe
php-5.2.4-nts-Win32.zip
http://museum.php.net/php5/
SQLSRV20.EXE
https://www.microsoft.com/en-us/download/details.aspx?id=20098
MS-SQL Native Client 10
sqlncli.msi
http://www.microsoft.com/en-us/download/confirmation.aspx?id=16978
inc=PHP
html=PHP
[PHP]
cgi.force_redirect = 0
short_open_tag = On
allow_url_fopen = Off
default_charset = "UTF-8"
date.timezone = "Asia/Seoul"
display_errors = On
?>
$connectionInfo = array ("Database"=>"DB명","UID"=>"DB 아이디","PWD"=>"DB 패스워드");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if ($conn)
{
echo "연결 성공!\n";
}
else
{
echo "연결 실패!\n";
die ( print_r (sqlsrv_errors(), true));
}
sqlsrv_close($conn);
?>
기본 설정 php.ini
[ 적용 방법 ]
- php 설치 및 ms-sql 연동
-> Windows 2003 에 설치 가능한 php 버전 확인 :
5.4.X 까지는 설치 가능
단, php 와 ms-sql 연동 가능은 5.3.0 까지 가능 / 그 이상은 ms-sql 과 연동이 되지 않음 : https://msdn.microsoft.com/en-us/library/cc296170(v=sql.105).aspx
php 5.2.x 이상부터는 ms-sql.dll 을 지원하지 않음 / sqlsrv_x_.dll 을 추가해서 연동 시켜야 함
sql 과 연결하기 위한 SQL NativeClient 설치 및 시스템 DSN 등록 필요
-> Fast CGI Extension 설치 : fcgisetup_1.5_rtw_x86.msi (http://www.iis.net/downloads/microsoft/fastcgi-for-iis)
-> php-5.2.4-nts-Win32.zip 다운로드 : http://museum.php.net/php5/
폴더 생성 및 압축 해제: c:\php
폴더 권한 설정 : 권한 추가 - Network Service : 읽기 및 실행
-> SQL 연동을 위한 확장 dll 설치 : SQLSRV20.EXE (https://www.microsoft.com/en-us/download/details.aspx?id=20098)
경로 : c:\php\ext
-> MS-SQL Native Client 설치 : sqlncli.msi (http://www.microsoft.com/en-us/download/confirmation.aspx?id=16978)
Windows 2003 은 Native Client 10 까지만 설치 가능 / 11 이상은 설치가 되지 않음
-> IIS 설정변경
IIS - 웹사이트 - 우클릭 - 속성 - 홈 디렉터리 - 구성 - 추가
실행 파일 : C:\WINDOWS\system32\inetsrv\fcgiext.dll
확장명 : .php
다음으로 제한 : GET, HEAD, POST
IIS - 웹사이트 - 우클릭 - 속성 - 홈 디렉터리 - 구성 - 추가
실행 파일 : C:\WINDOWS\system32\inetsrv\fcgiext.dll
확장명 : .php
다음으로 제한 : GET, HEAD, POST
-> fastcgi.ini 수정
C:\WINDOWS\system32\inetsrv\fcgiext.ini
최하단에 아래 내용 추가 후 저장
[Types]
php=PHPinc=PHP
html=PHP
[PHP]
ExePath=C:\php\php-cgi.exe
-> php.ini 수정
c:\php.ini-recommended 를 선택하여 파일 이름을 php.ini 로 변경하고 내용 수정 및 주석 제거
fastcgi.impersonate = 1
cgi.fix_pathinfo = 1cgi.force_redirect = 0
short_open_tag = On
allow_url_fopen = Off
default_charset = "UTF-8"
date.timezone = "Asia/Seoul"
display_errors = On
extension= 모듈 이 나열되어 있는 곳에 추가
extension=php_sqlsrv_52_nts.dll
extension=php_pdo_sqlsrv_52_nts.dll
extension=php_sqlsrv_52_nts.dll
extension=php_pdo_sqlsrv_52_nts.dll
-> IIS 재시작
-> phpinfo.php 파일 생성 :
<?
phpinfo();?>
-> 도메인/phpinfo.php
-> phpinfo 정상 출력 확인
-> db 연동 테스트 진행
odbc 데이터 원본 관리자 실행 - 시스템 DSN - SQL Native Client 10
이름 : test / 서버 : DB 서버 아이피
SQL 서버 인증 : DB 아이디 / DB 패스워드
접속 테스트 성공
-> php + mssql 연결 테스트 페이지 작성
<?php
$serverName = "DB 서버 아이피"; $connectionInfo = array ("Database"=>"DB명","UID"=>"DB 아이디","PWD"=>"DB 패스워드");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if ($conn)
{
echo "연결 성공!\n";
}
else
{
echo "연결 실패!\n";
die ( print_r (sqlsrv_errors(), true));
}
sqlsrv_close($conn);
?>
-> 도메인/db_test.php
-> "연결 성공!" 문구 출력 확인
'윈도우 이야기 > Web Server' 카테고리의 다른 글
IIS ASP 인코딩 설정 (UTF-8) : 한글 깨짐 오류 해결 (0) | 2016.07.22 |
---|---|
ASP-HTML 맵핑 등록 방법 (web.config 수정) (0) | 2016.07.22 |
IIS 웹사이트 목록 내보내기 (0) | 2016.07.22 |
IIS ASP 자세한 오류 표시 방법 (0) | 2016.07.22 |
윈도우 IIS SMTP 서비스 구축 (2) | 2016.07.22 |