반응형

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를 추가하는 방법도 있습니다.



출처: https://offbyone.tistory.com/329 [쉬고 싶은 개발자]

반응형

'OS > Window' 카테고리의 다른 글

Windows 10에 IIS 설치하기  (0) 2020.04.06
반응형

Windows 10에 IIS 를 설치하면 asp.net 으로 작성된 웹 애플리케이션을 실행할 수 있습니다. 또한 PHP 와 연동하거나 Tomcat과 연동하여 사용할 수도 있습니다.

 

1. "설정 -> 앱" 화면에서 오른쪽에 "프로그램 및 기능"을 실행합니다.

 

 

또는 Window + R 키를 눌러서 실행창을 띄운후  appwiz.cpl 을 실행합니다.

 

 

2. "프로그램 및 기능" 화면에서 "Windows 기능 켜기/끄기" 를 클릭합니다.

 

 

3. "Windows 기능 켜기/끄기" 화면에서 필요한 기능을 켭니다.

 

 - "인터넷 정보 서비스(Internet Information Service)"를 확장합니다.

 

 - "World Wide Web 서비스" 를 켭니다. 여기서는 하위 기능은 기본으로 합니다.

 

 - "웹 관리 도구"에서는 "IIS 관리 콘솔"에 체크합니다.

 

 

4. 응용 프로그램 개발 기능

 

 - IIS에서 응용프로그램을 실행하기 위해서 기능을 추가할 수 있습니다.

 

 - "ASP"를 체크해서 asp 프로그램을 실행할 수 있습니다.(이제는 잘 사용하지않습니다.)

 

 - "ASP.NET 3.5" 또는 "ASP.NET 4.7" 을 선택해서 asp.net 프로그램을 실행 수 있습니다.

 

 - "CGI(Common Gateway Interface)" 는 IIS 가 외부 프로그램을 실행시키는 방법을 제공해줍니다. CGI는 오래전부터 사용되어진 방법인데 요즘은 잘 사용하지 않는것 같습니다. 이 방식은 요청이 있을때마다 외부 프로그램 실행해서 요청이 만큼 외부 프로그램의 프로세스가 생성됩니다.

 

 - "ISAPI(Internet Server Application Programming Interface)" 는 PHP 와 Java 응용프로그램의 연동에 사용되어집니다. 이 방식은 웹서버 프로세스에서 DLL을 로드한 후 필요할때 호출하는 방식이므로 CGI보다 빠르게 수행됩니다. Thread 로 수행되므로 PHP 연동시 Thread-safe 바이너리를 사용하는게 안정적입니다. Non Thread-Safe 바이너리를 사용시 ISAPI 대신에 FastCGI를 사용하게 됩니다.

 

 

 

 

 

5. 관리 콘솔실행하여 웹사이트 실행하기

 

- IIS 관리자를 실행합니다.

 

 

- 왼쪽 트리 에서  사이트의 Default Web Site 를 선택하고, 오른쪽의 시작 버튼을  눌러 웹사이트를 실행합니다.

 



출처: https://offbyone.tistory.com/301 [쉬고 싶은 개발자]

반응형

'OS > Window' 카테고리의 다른 글

Windows 10 에 IIS 와 PHP 7 설치 및 연동하기  (1) 2020.04.06

+ Recent posts