본문 바로가기

Program/PHP

iis6 + php + fastcgi 연동

1. php 버전을 다운로드 받는다

5.4.39버전 설치 / 최신버전은 오류나서 재설치 하였음

http://php.net/downloads.php

다운로드시 

 Non Thread Safe 버전으로 다운받는다


2. php를 설치할 폴더에 압축을 푼다.


3. fastcgi 가 설치되어 있지 않으면 설치한다.

 페이지 하단에 

FastCGI 1.5 for IIS x86


4.php 폴더에 php.ini-production 파일이나 php.ini-development 파일을 

php.ini 파일로 변경한다.


5. fastcgi 수동설정 영문

http://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60


6. iis 사이트 추가 

속성 -> 홈 디렉토리 -> 구성 -> 매핑 -> 추가 버튼

실행 파일: C:\WINDOWS\system32\inetsrv\fcgiext.dll

확장명: .php

다음으로 제한: GET,HEAD,POST


실행권한 -> 스크립트 전용 으로 변경


적용 -> 확인


7.fcigext.ini 파일 수정

파일경로 : C:\WINDOWS\system32\inetsrv\

[Types]

php=PHP


[PHP]

ExePath=C:\Program Files\PHP\php-cgi.exe



8.기본문서추가 

iis -> 문서 -> 추가 -> index.php 추가


9.php.ini 파일수정

fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0

기본적으로 위 4개는 수정해야 한다.

short_open_tag = On

<?php 써야되는것을 <?만 써도 되게설정

10.cscript

Configuring FastCGI extension to handle PHP requests

cmd 창에서 아래 구문 실행

cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:"PHP" ^
-extension:php -path:"C:\PHP\php-cgi.exe"


위 코드 적용시 fcgiconfig.js<1326,5> <null>:0xffffffdf 오류가 날수있음 <- 이것땜에 삽질

이미적용되어 있으므로 초기화 시키고 진행하면 된다고 함.

fcgiext.ini 파일의 

[Types]

만 남기고 아래구문 삭제 후 위 스크립트 재실행


아래 cscript 구문도 도스창에서 실행

Configuring FastCGI and PHP recycling

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-InstanceMaxRequests:10000

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

Configuring FastCGI timeout settings

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-ActivityTimeout:90

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-RequestTimeout:90


10. 설치된 웹서버 경로에

phpinfo.php 파일하나 생성 

메모장으로 열어서 <?php phpinfo(); ?> 코딩후 저장 


11. 홈디렉토리로 설정한 폴더에 

인터넷유저 권한 설정 모두허용으로 변경


11. 실행 

http://localhost/phpinfo.php


참고 

Error Number: 5 (0x80070005) 오류시

php 폴더의 user 사용권한 꼭 추가 하자