BOARD

강좌·기초

Windows Server 2008에서 IIS와 PHP를 활용한 MSSQL 연동 환경 구축 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 16회 작성일 26-10-01 15:00

본문

Windows Server 2008에서 IIS와 PHP를 활용한 MSSQL 연동 환경 구축 방법

Windows Server 2008 환경에서 IIS 7.0과 PHP를 구동하고 그누보드 등 PHP 애플리케이션에서 MSSQL을 연동하기 위한 필수 구성 요소를 설치하고 설정하는 방법을 안내합니다.

웹서버(IIS) 역할 및 기능 추가 방법

웹서버(IIS)에서 PHP를 구동하기 위해서는 먼저 서버에 필요한 역할과 기능을 추가해야 합니다.

1. 역할 서비스 추가 경로

  • 서버 관리자 → 역할 → 웹 서버(IIS) → 역할 서비스 추가 경로로 이동합니다.

2. 체크할 항목

  • CGI 체크
  • SSI(Server Side Includers) 체크

Windows Server 2008 환경에서 PHP를 구동하기 위한 기본 전제 조건이므로 역할 서비스 추가 시 위 항목들을 반드시 선택해야 합니다.

IIS 7.0 PHP 연동을 위한 사전 구성요소 및 FastCGI 업데이트 설치

Windows Server 2008 환경에서 IIS 7.0과 PHP를 연동하려면 성능 향상과 오류 방지를 위한 사전 구성요소와 FastCGI 모듈 업데이트를 순서대로 설치해야 합니다.

1. 최신 버전의.NET Framework 설치

설치 편의 응용프로그램과 웹서버 성능 향상에 도움이 되는 구성요소를 설치합니다. 설치된 Framework 버전을 먼저 확인한 후 마이크로소프트 다운로드 센터를 통해 설치 여부를 결정합니다.

2. FastCGI 모듈 업데이트 설치 (Update for IIS 7.0 FastCGI module)

IIS 7.0에 기본 포함된 FastCGI의 최신 보안 업데이트 및 기능 향상 버전을 설치합니다. 이 업데이트를 설치하면 REQUEST_URI 서버 변수에 종속된 PHP 응용 프로그램이 IIS 7.0에서 실패하는 문제를 해결할 수 있습니다.

  • 다운로드 경로
    • Windows Server 2008 x64 Edition용 업데이트(KB954946)
    • Windows Server 2008용 업데이트(KB954946)

3. IIS 7.0 관리자 패키지 설치 (Administration Pack for IIS 7.0)

IIS 7에서 PHP를 이용하기 위해 필요한 FastCGI 설정 편의를 제공합니다. 공식 다운로드 페이지를 통해 설치를 진행할 수 있으며, 설치 옵션은 기본값인 Typical로 완료하거나 필요에 따라 Custom 설정으로 진행할 수 있습니다.

IIS 관리자에서 PHP 요청 처리기 매핑 설정 방법

Windows Server 2008의 IIS 7.0 환경에서 웹서버로 들어오는 PHP 요청을 처리하기 위해 처리기 매핑을 설정하는 절차는 다음과 같습니다.

  1. IIS 관리자 실행: 관리도구에서 IIS(인터넷 정보 서비스) 관리자를 실행합니다.
  2. 서버 선택 및 처리기 매핑 진입: 좌측 연결 항목에서 서버를 선택한 후 처리기 매핑을 실행합니다.
  3. 모듈 매핑 추가: 우측 작업 창에서 모듈 매핑 추가를 선택합니다.
  4. 항목 입력: 팝업 창이 나타나면 아래의 값을 정확히 입력합니다.
    • 요청 경로(P): *.php
    • 모듈(M): FastCgiModule
    • 실행 파일(옵션)(E): "C:\php\php-cgi.exe" (PHP가 설치된 경로의 php-cgi.exe 파일을 지정합니다.)
    • 이름(N): PHP FastCGI
  5. 모듈 매핑 추가 확인: 설정 완료 후 나오는 확인 창에서 예를 선택하여 다음 단계를 진행합니다.

php.ini 파일 설정 방법

PHP 5 버젼 Non-Thread-Safe zip 패키지의 압축을 푼 폴더(예: C:\PHP)에서 php.ini-production 파일을 php.ini로 파일명을 변경한 후 수정합니다.

IIS7에서 PHP를 실행하기 위해 수정해야 할 항목은 다음과 같습니다.

  • cgi.force_redirect = 0
  • cgi.fix_pathinfo=1
  • fastcgi.impersonate = 1
  • fastcgi.logging = 0
  • extension=php_gd2.dll

phpinfo()를 통한 sqlsrv 작동 확인 및 연동 실패 시 점검 사항

sqlsrv 작동 여부 확인 방법

웹서버 환경에서 PHP와 MSSQL 연동이 정상적으로 완료되었는지 확인하려면 phpinfo() 페이지를 생성하여 접속해야 합니다.

  1. 메모장을 실행하여 파일을 생성하고 아래의 스크립트를 입력합니다.
    <?php
    phpinfo();
    ?>
  2. 브라우저를 통해 해당 파일에 접속합니다.
  3. 페이지 내에서 sqlsrv 섹션이 표시되는지 확인합니다. sqlsrv support 항목이 enabled로 활성화되어 있어야 합니다.

연동 실패 시 점검 사항

  • sqlsrv 작동 여부 확인: phpinfo() 페이지에 sqlsrv 섹션이 없거나 sqlsrv_connect() 함수 호출 시 오류가 발생한다면 드라이버가 로드되지 않은 상태입니다.
  • 드라이버 파일 확인: 사용 중인 PHP 버전(Thread Safe 여부, 아키텍처)에 맞는 php_sqlsrv.dll 및 php_pdo_sqlsrv.dll 파일을 다운로드하여 PHP 설치 경로 내 ext 폴더(예: C:\PHP\ext)에 배치해야 합니다.
  • php.ini 설정: php.ini 파일에서 extension_dir이 ext 폴더를 가리키는지 확인하고, 파일 하단에 다음 설정을 추가하여 모듈을 활성화합니다.
    extension=php_sqlsrv.dll
    extension=php_pdo_sqlsrv.dll
  • 오류 확인: 설정 후 IIS를 재시작하고 phpinfo()에서 sqlsrv 모듈 로드 여부를 재확인합니다. 연결 실패 시 sqlsrv_errors() 함수를 통해 상세 오류를 확인하십시오.

PHP Manager for IIS 활용 방법

PHP Manager for IIS는 복잡한 텍스트 파일 수정 없이 IIS 환경에서 PHP 버전을 관리하고 세부 설정을 직관적으로 변경할 수 있도록 돕는 확장 도구입니다.

설치 및 사용 방법

  1. 지정된 경로(http://phpmanager.codeplex.com/releases/view/69115)에서 설치 파일을 다운로드합니다.
  2. 안내된 설치 방법(http://phpmanager.codeplex.com/wikipage?title=Managing%20PHP%20installations%20with%20PHP%20Manager%20user%20interface)에 따라 설치를 진행합니다.
  3. 설치가 완료되면 IIS(인터넷 정보 서비스) 관리자에서 해당 기능을 사용할 수 있으며, 직관적인 UI를 통해 PHP 세부 설정을 편리하게 관리할 수 있습니다.

상황별 판단 및 다음 행동 가이드

내 상황우선할 판단다음 행동
Windows Server 2008에 IIS 7.0 및 PHP 환경을 새로 구축해야 할 때웹서버 역할 추가 및 FastCGI 모듈·관리자 패키지 선행 설치서버 관리자에서 CGI 및 SSI 역할을 추가하고, KB954946 업데이트 및 Administration Pack 1.0(또는 Administration Pack for IIS 7.0)을 설치합니다.
PHP와 MSSQL 연동 환경 구성 후 접속 오류나 미작동 문제가 발생할 때php.ini 파일 설정 및 phpinfo()를 통한 sqlsrv 모듈 활성화 여부 확인php.ini 파일에서 cgi.force_redirect = 0, cgi.fix_pathinfo = 1, fastcgi.impersonate = 1, fastcgi.logging = 0 설정을 확인하고, phpinfo() 화면에서 sqlsrv support가 enabled로 정상 로드되었는지 검증합니다.

실전 FAQ

Q. IIS 7.0에서 PHP 요청을 처리할 때 'FastCgiModule' 관련 오류가 발생하거나 모듈을 찾을 수 없는 경우 어떻게 해야 하나요?

  • 원인 및 대안: IIS 설치 시 응용 프로그램 개발 기능 내의 'CGI' 역할 서비스가 누락되었거나 FastCGI 모듈이 올바르게 매핑되지 않았을 때 발생합니다. 서버 관리자의 웹 서버(IIS) 역할 서비스 추가에서 'CGI'와 'SSI(Server Side Includers)'가 체크되어 있는지 확인하고 다시 설치해야 합니다.

Q. phpinfo() 페이지를 띄웠으나 sqlsrv 항목이 표시되지 않고 sqlsrv_connect() 함수가 작동하지 않을 때는 무엇을 점검해야 하나요?

  • 예외 및 대안: 기본 PHP 패키지만 설치하고 MS SQL Server용 드라이버를 누락한 경우입니다. Windows 환경에서는 사용 중인 PHP 버전 및 스레드 세이프티 모드(Non-Thread Safe)에 맞는 sqlsrv 및 pdo_sqlsrv 확장 모듈 파일을 받아 ext 디렉터리에 위치시키고 php.ini에서 해당 확장 기능이 활성화되도록 설정해야 합니다.

함께 보면 좋은 글

참고자료

운영 사례·사용자 경험

기타 참고자료

댓글목록

등록된 댓글이 없습니다.