>백엔드 개발 >PHP 튜토리얼 >IIS에서 PHP 환경의 세 가지 구성 방법 및 비교

IIS에서 PHP 환경의 세 가지 구성 방법 및 비교

WBOY
WBOY원래의
2016-08-08 09:33:331060검색

IIS에서 PHP 환경의 세 가지 구성 방법 및 비교

Windows IIS 6.0에서 PHP를 구성할 때 일반적으로 CGI, ISAPI 및 FastCGI의 세 가지 구성 방법이 있습니다. 이 세 가지 모드는 모두 IIS 6.0에서 성공적으로 실행될 수 있습니다.

1. CGI(Common Gateway Interface)는 일반적으로 EXE 파일과 같은 실행 가능한 프로그램으로, WEB 서버는 각각 서로 다른 프로세스를 점유하며, 일반적으로 CGI 프로그램은 하나의 사용자 요청만 처리할 수 있습니다. 이와 같이 사용자 요청 수가 매우 많으면 메모리, CPU 시간 등 시스템 리소스를 많이 차지하게 되어 성능이 저하됩니다.

2. ISAPI(Internet Server Application Program Interface)는 Microsoft에서 제공하는 WEB 서비스용 API 인터페이스 집합으로, CGI에서 제공하는 모든 기능을 구현하고 이를 기반으로 필터 응용 프로그램 인터페이스를 제공하는 등 확장할 수 있습니다. ISAPI 응용 프로그램은 주로 사용자가 요청한 후에 실행될 수 있는 DLL 동적 라이브러리 형태로 사용됩니다. 사용자 요청을 처리한 후 즉시 사라지지 않고 메모리에 계속 상주하며 다른 사용자 입력을 기다립니다. 처리됩니다. 또한 ISAPI의 DLL 응용 프로그램과 WEB 서버는 동일한 프로세스에 있으며 효율성은 CGI보다 훨씬 높습니다.

Windows Server 2003의 IIS6에서 ISAPI 모드로 PHP를 구성합니다. 구성 방법은 IIS의 "WEB Service Extension"에 새로운 WEB 서비스 확장을 추가하는 것입니다. 프로그램 접미사는 PHP이고 ISAPI 프로그램은 php5isapi.dll입니다. 그런 다음 " "환경 변수"- "시스템 변수"에 변수 이름 PHPRC를 추가하고 값은 php.ini의 경로입니다. 인터넷 정보 서비스 관리자에서 웹 사이트 또는 응용 프로그램의 루트 디렉터리를 선택하고 디렉터리 속성을 엽니다. 페이지(마우스 오른쪽 버튼을 클릭하고 "속성"을 선택)를 클릭한 다음 "홈 디렉터리"를 선택합니다. "구성" 버튼을 클릭하고 "매핑" 탭 페이지를 선택합니다. "추가..."를 클릭하고 "실행 파일"을 c:phpphp5isapi.dll로 설정하고 확장자를 .php로 설정한 다음 "파일 존재 여부 확인"을 선택한 다음 "확인"을 눌러 설정을 저장합니다. PHP 구성을 완료하려면 서버를 다시 시작하세요.

3. FastCGI는 확장 가능한 아키텍처를 갖춘 CGI의 개방형 확장입니다. 주요 동작은 CGI 인터프리터 프로세스를 메모리에 유지하여 더 높은 성능을 얻는 것입니다. 기존 CGI 인터프리터의 반복적인 로드는 CGI 성능이 저하되는 주요 원인입니다. CGI 인터프리터가 메모리에 남아 있고 FastCGI 프로세스 관리자 스케줄링을 허용하면 우수한 성능, 확장성 등을 제공할 수 있습니다.

FastCGI는 IIS7에 통합되었으며 IIS6도 지원합니다. IIS6에서의 설치 방법은 Microsoft 공식 문서를 참조하세요. 여기서는 간략하게 번역하겠습니다.

먼저 여기를 클릭하여 IIS용 32비트 FastCGI 확장을 다운로드한 다음 설치 파일을 system32inetsrv 디렉터리에 배치해야 합니다.

그런 다음 system32inetsrv 디렉터리를 열고 다음 명령문을 실행합니다. 여기서 c:php는 PHP 디렉터리이며 다른 값으로 수정할 수 있습니다.

cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"c:phpphp-cgi.exe"

인터넷 정보 서비스 관리자에서 웹 사이트 또는 응용 프로그램의 루트 디렉터리를 선택하고 디렉터리 속성 페이지를 연 다음(마우스 오른쪽 버튼을 클릭하고 "속성" 선택) "홈 디렉터리"를 선택합니다. "구성" 버튼을 클릭하고 "매핑" 탭 페이지를 선택합니다. "추가..."를 클릭하고 "실행 파일"을 c:windowssystem32inetsrvfcgiext.dll로 설정하고 확장자를 .php로 설정하고 "파일 존재 여부 확인"을 선택한 다음 "확인"을 선택하여 설정을 저장합니다.

php.ini 파일을 수정하고 다음 문을 추가합니다.

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

그런 다음 system32inetsrv 디렉터리를 열고 다음 문을 실행합니다.

cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

마지막으로, IIS_WPG 그룹이 이 디렉토리에 대한 읽기 및 실행 권한을 갖도록 c:php 디렉토리의 보안을 구성하십시오.

현재 FastCGI 기반의 PHP는 IIS6에서 성공적으로 구성되었습니다.

위의 내용을 포함하여 IIS의 PHP 환경에 대한 세 가지 구성 방법과 비교를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.