저자: 다렐 브로그돈, 역 신동섭
원래 PHP는 유닉스에서 구동되도록 설계하고 구현되었지만 버전 3부터는 윈도우에서도 구동될 수 있다. 지원 운영체제는 윈도우 9x, ME, NT 그리고 2000이다. 이 기사에서는 윈도우에 PHP를 설치하는 과정과 여기서 여러분이 해야 할 일을 차근차근 설명할 것이다.
유닉스에서와 마찬가지로 윈도우에서 PHP 설치하기 위한 옵션으로는 CGI나 ISAPI 모듈과 같은 두 가지 옵션이 있다. 특히 ISAPI 모듈의 장점은 속도에 있다고 볼 수 있다. 하향 전달식은 다소 새로운 방식이기 때문에 안정적이지 못할 수도 있다는 문제점도 있다. 하지만 무언가를 수행하기 전, 몇 가지 아주 간단한 선행작업을 수행해야 한다. 일단 압축되어 있는 PHP 윈도우버젼을 다운로드받으면, sapi/ 디렉토리에서 Winnt/system나 Windows/system디렉토리로
php4isapi.dll파일을 복사해야 한다. 프리컴파일된(precomplie) 초기상태를 변경할 계획하에 있다면 설치 디렉토리에서
WINDOWS/ 디렉토리로
php.ini-dist를 이동하여
php.ini로 이름을 바꾸고 싶어할 수도 있다. 어쨌든 지금 여러분은 PHP를 CGI나 ISAPI모듈 중 어느 것으로 하든 간에 관계없이 모든 준비가 다 되었다.
윈도우 NT/2000경우, PHP를 인식시키기위해 IIS를 구분할 필요가 있다. GUI덕택에 몇 번의 마우스 클릭으로 이 문제는 해결될 수 있다. 우선 윈도우 NT 또는 윈도우 2000을 사용하느냐에 따라 Microsoft Management Console이나 Internet Service Manager를 종료하여야 한다. 작업중인 웹 노드의 프로퍼티 버튼을 클릭하라. 이 예제에서 우리는 Default Web Server를 사용할 것이다. ISAPI 필터 탭을 클릭하고 ADD를 클릭하라. 이름으로 php를 사용하고 경로에서
php4isapi.dll 파일위치는 이 예제에서는
C:\WINNT\system\에 있을 것이다.
PHP를 인식하기 위한 IIS 환경 설정
홈 디렉토리 탭하에서 Configuration버튼을 클릭하고 Application Mappings을 하기위해 ADD를 클릭하라. ISAP 필터에서 했던 것처럼
php4isapi.dll의 같은 위치정보를 사용하고 확장자로
.php를 사용하라. 단, 여기서 주의할 점이 있다. 테스트로 나의 데스크탑 PC에서 설치 디렉토리에 있던
php4isapi.dll의 임시위치를 나의 파일경로로 사용하였다. 윈도우 2000은 내가 멍청하다는 작은 박스를 내보이면서 나를 충분히 귀찮게 했다. 물론 그렇게 수다수러운 것은 아니지만 이것이야 말로 내가 그것을 보아넘기는 방법이며 분명히 윈도우 2000과 IIS는 APP Mapping이 적어도 윈도우 dir하에 있기를 요구한다.
이제, 프로퍼티 다이얼로그에서 OK를 클릭하라. 다음으로 해야 할 일은 IIS를 시작하고 중지하는 것이다. 이것은 Management console의 시작버튼과 중지버튼을 누르는 것과는 다르다. 여러분은 명령창(말하자면 cmd)으로 가서
net stop issadmin을 타이핑해야 한다. 그리고 작동중인 것이 무엇인지를 알려주기를 기다려라. 그 다음
net start w3svc를 입력하라. 왜
net start iisadmin을 하지 않는지는 잘 모른다. 어쨌든 간에 필자는 유닉스 사용자이고 logic이 좀 떨어진 듯 하다.
지금까지 윈도우에서 ISAPI모듈로 PHP를 설치하였다. 만족스럽지 않은가? 어쩌면 여러분이 나를 믿지 않기 때문에 아마도 만족스럽지 않을 수도 있다. 하여튼 증거가 필요하다면 지금
C:\inetpub\wwwroot\로 가서 거기에
test.php 파일을 넣어라. 그리고 그 파일에 아래와 같은 코드를 넣어라.
다음엔 브라우저에서
test.php를 뽑아내라. 만약 PHP Info 페이지가 보인다면 작동된 것이다. 지금 이 과정은 어떤 예고 없이 진행되기 때문에 필자는 이것을 미리 설명하고 있는 것이다. 여러분은
http://를 사용하는 브라우저에서 웹 페이지로써
test.php를 뽑아내야 한다.
file://를 사용하는 파일을 위해 그 경로를 사용한다면 흥미없는 가공되지 않은 출력 코드를 얻게 될 것이다.
성공적으로 작동됨을 알려주는 PHP Info 페이지
윈도우 9x/ME에서 다소 PWS(Personal Web Server)에 제한된다. 물론 OmniHTTPd와 같은 보완제가 있으나 여기에 하루종일을 소비할 만큼 많은 시간이 있는 것은 아니기 때문이다. 하여튼 이것은 좀 더 간단하다. 그것은 단지 레지스트리 엔트리의 문제다.
적절한 디렉토리로
php.ini와
php4ts.dll를 이동한 후에 자주 사용하는 레지스트리 편집기를 열어야 한다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map에서
.php이름을 가진 엔트리와
C:\\Program Files\\PHP\\php4isapi.dll의 값이 합쳐지기 원할 것이다.
다음으로 PWS Manager를 시작하라. PHP를 알고있다고 생각하는 각 디렉토리를 위해 그 디렉토리에서 마우스 오른쪽을 클릭 하고 실행가능한 박스를 점검해야 한다.
이제 모든 준비가 다 끝났다. 필자가 위에서 설명한 것과 같이 같은 테스트(
test.php)를 실행하고 고수처럼 보이는 정열과 함께 ASP를 작성하는 친구들이 시샘하는 것을 즐기면서 실행해보도록 하자.
다렐 브로그돈(Darrell Brogdon)은 VA Linux Systems에서 SourceForge를 개발하는 웹 개발자이며 1996년부터 지금까지 PHP를 사용해 왔다.