Ir para o conteúdo principal
Página inicial
Github

IIS Express

O IIS Express é uma versão leve e independente do IIS, otimizada para desenvolver e testar sites, mantendo todas as funcionalidades principais do IIS.

Além de contar com funcionalidades adicionais concebidas para facilitar o desenvolvimento de websites, incluindo:

Instalando o IIS Express

Acesse https://www.microsoft.com/en-US/download/details.aspx?id=48264 e baixe a versão adequada ao seu sistema operacional e então instale-o.

Instalando PHP

Acesse https://www.php.net/downloads.php?os=windows e baixe a versão Non Thread Safe (NTS) do PHP.

Após a conclusão do download, você pode extrair o arquivo para qualquer pasta desejada, utilizando tar a linha de comando:

mkdir C:\php8_5 tar -xf "php-8.5.9-nts-Win32-vs17-x64.zip" -C "C:\php8_5"

Ou usando o PowerShell

Expand-Archive -LiteralPath ".\php-8.5.9-nts-Win32-vs17-x64.zip" -DestinationPath "C:\php8_5"

Configurando PHP

Se instalou IIS Express x64, accesse usando a seguinte linha de comando:

cd C:\Program Files\IIS Express

Se instalou IIS Express x86, accesse usando a seguinte linha de comando:

cd C:\Program Files (x86)\IIS Express

Para facilitar, você pode definir a seguinte variável (dependendo do caminho onde o php-cgi.exe está localizado):

set PHP_PATH=C:\php8_5

Defina o FastCGI e o manipulador para PHP com os comandos:

appcmd set config /section:system.webServer/fastCGI /+[fullPath='%PHP_PATH%\php-cgi.exe'] appcmd set config /section:system.webServer/handlers /+[name='PHP_via_FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='%PHP_PATH%\php-cgi.exe',resourceType='Unspecified'] appcmd set config /section:system.webServer/handlers /accessPolicy:Read,Script

Configure as variaveis FastCGI, de ambiente e o php.ini com os comandos:

appcmd set config -section:system.webServer/fastCgi /[fullPath='%PHP_PATH%\php-cgi.exe'].instanceMaxRequests:10000 appcmd set config -section:system.webServer/fastCgi /+"[fullPath='%PHP_PATH%\php-cgi.exe'].environmentVariables.[name='PHP_FCGI_MAX_REQUESTS',value='10000']" appcmd set config -section:system.webServer/fastCgi /+"[fullPath='%PHP_PATH%\php-cgi.exe'].environmentVariables.[name='PHPRC',value='%PHP_PATH%\php.ini']"

É provavel seja necessário desabilitar os registros do FastCGI no php.ini para evitar que os erros sejam adicionados ao final de todas respostas HTTP, para isso remova o ; da diretiva:

;fastcgi.logging = 0