Instalação com IIS no Windows

Instalando o IIS

Internet Information Services (IIS) é incluído no Windows. No Windows Server, a função IIS pode ser adicionada através do Gerenciados do Servidor. O recurso CGI Role precisa ser incluído. No Windows Desktop, o IIS deve ser adicionado através da opção Adicionar/Remover Programas do Painel de Controle. A documentação da Microsoft tem » instruções detalhadaspara habilitar o IIS. Para desenvolvimento, o » IIS/Express também pode ser usado.

Note: A versão Não Segura para Threads (NTS) do PHP deve ser instalada ao usar o manipulador FastCGI com o IIS.

Configurando o PHP com o IIS

No Gerenciador IIS, instale o módulo FastCGI e adicione um manipulador para mapear a extensão .php para o caminho do php-cgi.exe (não para o php.exe).

A ferramenta de linha de commando APPCMD pode ser usada para executar a configuração do IIS através de script.

Examplo de script em lote

Example #1 Linha de comando para configurar o IIS e o PHP


@echo off

REM obtenha o arquivo .ZIP da compilação PHP em http://windows.php.net/downloads/

REM caminho para o diretório onde o arquivo .ZIP do PHP foi descompactado (sem \ no final)
set phppath=c:\php


REM Limpa os manipuladores de PHP atuais
%windir%\system32\inetsrv\appcmd clear config /section:system.webServer/fastCGI
REM O comando a seguir irá gerar uma mensagem de erro se o PHP não estiver instalado. Isto pode ser ignorado.
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /-[name='PHP_via_FastCGI']

REM Configura o manipulador do PHP
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='%phppath%\php-cgi.exe']
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /+[name='PHP_via_FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='%phppath%\php-cgi.exe',resourceType='Unspecified']
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /accessPolicy:Read,Script

REM Configura as variáveis FastCGI
%windir%\system32\inetsrv\appcmd set config -section:system.webServer/fastCgi /[fullPath='%phppath%\php-cgi.exe'].instanceMaxRequests:10000
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%phppath%\php-cgi.exe'].environmentVariables.[name='PHP_FCGI_MAX_REQUESTS',value='10000']"
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%phppath%\php-cgi.exe'].environmentVariables.[name='PHPRC',value='%phppath%\php.ini']"