Instalação para Apache 2.x em sistemas Windows

Esta seção contém notas e dicas específicas para instalações do Apache 2.x do PHP em sistemas Microsoft Windows.

Note:

Por favor, leia o manual das etapas de instalação primeiro!.

É altamente recomendável consultar a » Documentação Apache para obter uma compreensão básica do servidor Apache 2.x Considere, também, a leitura das » notas específicas do Windows para Apache 2.x antes de continuar.

Baixa a versão mais recente do » Apache 2.x e uma versão adequada do PHP. Siga os passos do manual de instalação e volte para prosseguir com a integração do PHP com o Apache.

Existem três maneiras de configurar o PHP para funcionar com o Apache 2.x no Windows. O PHP pode ser executado como um controlador, como um CGI ou em FastCGI.

Note: Lembre-se que ao adicionar caminhos nos arquivos de configuração do Apache no Windows, todas as barras invertidas como em c:\diretorio\arquivo.ext devem ser convertidas para barras: c:/diretorio/arquivo.ext. Uma barra final também pode ser necessária para diretórios.

Instalando como um controlador Apache

Note: Ao usar o SAPI apache2handler SAPI, a versão segura para Threads (TS) do PHP precisa ser usada.

Para carregar o módulo PHP para Apache 2.x, as seguintes linhas no arquivo de configuração Apache httpd.conf precisam ser inseridas:

Example #1 PHP e Apache 2.x como controlador

# antes do PHP 8.0.0 o nome do módulo era php7_module
LoadModule php_module "c:/php/php8apache2_4.dll"
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
# configure caminho para php.ini
PHPIniDir "C:/php"

Note: O caminho correto do PHP precisa ser substituído em vez de C:/php/ nos exemplos acima. Certifique-se de que o arquivo referenciado na diretiva LoadModule está no local especificado. Use php7apache2_4.dll para PHP 7, ou php8apache2_4.dll para PHP 8.

Executando PHP como CGI

É altamente recomendável consultar a » documentação Apache CGI para uma compreensão mais completa da execução de CGI no Apache.

Para executar o PHP como CGI, os arquivos php-cgi precisarão ser colocados em um diretório designado como um diretório CGI usando a diretiva ScriptAlias.

Uma linha iniciada com #! precisará ser colocada nos arquivos PHP que apontam para a localização do binário do PHP:

Example #2 PHP e Apache 2.x como CGI

#!C:/php/php.exe
<?php
    phpinfo();
?>
Warning

Um servidor instalado em modo CGI está aberto a várias vulnerabilidades possíveis. Leia nossa seção de segurança CGI para aprender como se defender de tais ataques.

Executando PHP sobre FastCGI

Executar o PHP no FastCGI tem uma série de vantagens sobre executá-lo como um CGI. Configurá-lo dessa forma é bastante simples:

Baixe mod_fcgid de » https://www.apachelounge.com. Os binários do Win32 estão disponíveis para download neste site. Instale o módulo de acordo com as instruções que o acompanham.

Configure o servidor web conforme mostrado abaixo, tendo o cuidado de ajustar quaisquer caminhos para refletir ele está instalado no sistema:

Example #3 Configurando o Apache para executar o PHP como FastCGI

LoadModule fcgid_module modules/mod_fcgid.so
# Onde está o arquivo php.ini?
FcgidInitialEnv PHPRC        "c:/php"
<FilesMatch \.php$>
    SetHandler fcgid-script
</FilesMatch>
FcgidWrapper "c:/php/php-cgi.exe" .php
Arquivos com extensão .php agora serão executados pelo empacotador PHP FastCGI.