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

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

  1. No Windows, acesse o Painel de Controle e clique em Adicionar ou Remover Programas.
  2. Na janela Adicionar ou Remover Programas, clique em Adicionar/Remover Componentes do Windows.
  3. Selecione a caixa de seleção Serviços de Informações da Internet (IIS), clique em Avançar e, em seguida, em Concluir.
  4. Para aprender a usar o IIS, você pode consultar a documentação em:
    http://localhost/iishelp/iis/misc/default.asp

Configurando o IIS

  1. 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.
  2. Na caixa de diálogo Gerenciamento do Computador, abra o nó Serviços e Aplicativos.
  3. Clique em Serviços de Informação da Internet e, em seguida, clique em Sites da Web.
  4. 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.
  5. Se for necessária uma conexão segura com a Internet, configure 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