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를 추가하는 방법도 있습니다.
'프로그래밍 > 운영체제, 서버' 카테고리의 다른 글
IIS에서 URL Rewrite를 사용해서 HTTP요청을 HTTPS로 리다이렉트하기 (27) | 2018.08.27 |
---|---|
CentOS 7에서 mod_jk사용하여 Apache 2.4 와 Tomcat 연동하기 (8) | 2018.08.23 |
IIS 요청 필터링(특정 파일 또는 폴더에 접근하지 못하게 설정하기) (0) | 2018.08.14 |
Windows 10의 IIS에 개발용 SSL설정과 IE에 인증서 설치하기 (0) | 2018.07.28 |
Windows 10에서 Tomcat과 IIS 연동하기 (17) | 2018.07.26 |