본문 바로가기
프로그래밍/운영체제, 서버

Windows 10에 IIS, PHP, Oracle 연동 설치하기

by pentode 2018. 8. 16.

Windows 10 64bit 운영체체에 IIS를 설치하고, PHP 7.2.5를 설치하여 연동합니다. 여기에 PHP와 Oracle 데이터베이스를 연동하여 사용할 수 있도록 필요한 설치를 해봅니다.


IIS의 설치는 "Windows 10에 IIS 설치하기" 글을 참조해서 설치해 주세요. PHP의 설치와 IIS와의 연동은 "Windows 10에 IIS 와 PHP 7 설치 및 연동하기" 글을 참조해서 설치해 주세요.


이제 PHP와 Oracle 을 연동해 보겠습니다.



1. 오라클 인스턴트 클라이언트 설치하기

다음 URL에서 오라클 인스턴트 클라이언트를 다운로드 받아서 설치합니다. 오라클 계정이 있어야 합니다. 여기서는 Oracle 11g 를 사용합니다.


http://www.oracle.com/technetwork/topics/winx64soft-089540.html


다운로드 받을 파일은 instantclient-basic-window.x64-11.2.0.4.0.zip 입니다.




설치는 압축을 풀어 적당한 곳에 옮겨 두고, PATH 환경 변수에 등록해 주면 되겠습니다. 설치 위치는 "D:\util\instantclient_11_2" 이고, 시스템 환경변수의 PATH 에 추가하였습니다.




PATH에 제대로 등록되었는지 명령창을 열어서 D:\>where oci*.dll 명령으로 확인해 봅니다.





2. OCI8 extension 설치하기

다음 URL에서 Windows용 php oci8 확장 dll 을 다운로드 받아 설치합니다. 현재 최신 버전이 2.1.8 버전입니다. 다운로드 받은 파일은 php_oci8-2.1.8-7.2-nts-vc15-x64.zip 입니다.


https://pecl.php.net/package/oci8/2.1.8/windows




압축을 풀어 php_oci8_11g.dll 파일을 PHP를 설치한곳 아래의 ext 폴더에 넣습니다.



3. PHP 와 Oracle 연동하기


PHP를 설치한곳 아래에 php.ini-development와 php.ini-production 파일중 하나를 php.ini 로 이름을 변경합니다. 여기서는 php.ini-development 파일을 php.ini 파일로 이름을 변경해서 사용했습니다.


extension_dir을 Windows 용으로 설정합니다. 행 맨앞의 세미콜론(;) 제거하면 됩니다.


; Directory in which the loadable extensions (modules) reside.

; http://php.net/extension-dir

; extension_dir = "./"

; On windows:

extension_dir = "ext"


확장 dll 을 로드하는 부분에 아래 라인을 추가합니다.


extension=oci8_11g


명령창에서 PHP가 설치된 곳으로 이동하여 php --ri oci8 명령으로 확장 dll이 정상적으로 로드 되는지 확인합니다.





4. IIS에서 연동확인하기


웹 루트에 아래 내용으로 info.php 파일을 작성합니다.


<?php

phpinfo();

?>


http://localhost/info.php 로 요청했을때 아래 처럼  OCI8 Support 가 enabled 로 나오면 연결 성공입니다.




Oracle Instant 클라이언트에 대한 PATH 설정이 IIS를 실행하는 프로세스에는 적용이 안되어서 명령창에서 확장이 사용가능한지 검사하였을때는 성공인데, 웹페이지로 phpinfo() 를 실행 했을때는 OCI8 항목이 올라오지 않을 수 있습니다.


World Wide Web Publishing 서비스를 재시작해 봅니다. 안되면 Windows를 재시작합니다. 보통 재시작을 하면 PATH환경변수가 적용이 되어 연동이 정상적으로 처리됩니다.


그래도 안되거나 Windows를 재시작할 수 없는 환경이라면 IIS 관리자 -> FastCGI 설정을 더블 클릭하여 들어갑니다.




등록된 php-cgi.exe 를 더블클릭하여 속성창을 엽니다.


환경변수(컬렉션) 옆의 버튼을 클릭하여 PATH 환경변수를 추가합니다.

- Name : PATH

- Value : %PATH%;D:\util\instantclient_11_2




이처럼 FastCGI 설정에 직접 PATH를 추가하는 방법도 있습니다.




반응형