Serviços de Informação da Internet (IIS)
Aprenda como configurar um servidor IIS (Serviços de Informações da Internet).
O IIS já vem integrado ao Windows. No Windows Server, a função IIS pode ser adicionada pelo Gerenciador do Servidor. O recurso de função CGI precisa estar habilitado. No Windows Desktop, o IIS precisa ser adicionado pelo Painel de Controle, na opção Adicionar/Remover Programas.
Instalando o IIS
- No Windows, acesse o Painel de Controle e clique em Adicionar ou Remover Programas.
- Na janela Adicionar ou Remover Programas, clique em Adicionar/Remover Componentes do Windows.
- Selecione a caixa de seleção Serviços de Informações da Internet (IIS), clique em Avançar e, em seguida, em Concluir.
-
Para aprender a usar o IIS, você pode consultar a documentação em:
http://localhost/iishelp/iis/misc/default.asp
Configurando o IIS
- Clique com o botão direito do mouse no ícone Meu Computador na área de trabalho do seu computador servidor e, em seguida, clique em Gerenciar.
- Na caixa de diálogo Gerenciamento do Computador, abra o nó Serviços e Aplicativos.
- Clique em Serviços de Informação da Internet e, em seguida, clique em Sites da Web.
- Clique com o botão direito do mouse no nó "Site da Web Padrão" para iniciá-lo, caso ainda não esteja em execução.
-
Se for necessária uma conexão segura com a Internet, configure o Secure Sockets Layer (SSL).
- Para obter mais informações, consulte Como configurar o Secure Sockets Layer (SSL).
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
Navegue usando o CMD para:
cd %windir%\System32\inetsrv
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
O FastCGI no IIS oferece suporte à capacidade de assumir a identidade (impersonation) dos tokens de segurança do cliente solicitante.
Isso permite que o IIS defina o contexto de segurança sob o qual a solicitação é executada.
É possivel habilitar removendo o ;:
;fastcgi.impersonate = 1