Esse guia de instalação ajudará você a instalar manualmente e configurar o PHP em um servidor web no Microsoft Windows. Para instruções de como utilizar o instalador do PHP para instalar e configurar um servidor web no Windows, veja o Instalador Windows (PHP 5.2 e posteriores).
Baixe o binário do PHP em ZIP do link » PHP para Windows: Binários e fontes. Existem várias versões diferentes do pacote zip - escolha a versão que se encaixa com o servidor web sendo utilizado:
Se o PHP for usado com IIS, então escolha o PHP 5.3 VC9 Non Thread Safe ou PHP 5.2 VC6 Non Thread Safe;
Se o PHP for usado com IIS7 ou maior e PHP 5.3+, então os binários da VC9 devem ser utilizados.
Se o PHP for usado com Apache 1 ou Apache 2, então escolha o PHP 5.3 VC6 ou PHP 5.2 VC6.
Nota:
As versões VC9 são compiladas com o compilador do Visual Studio 2008 e têm melhorias de performance e estabilidade. As versões VC9 requerem que você tenha instalado o » Microsoft 2008 C++ Runtime (x86) ou o » Microsoft 2008 C++ Runtime (x64).
Descompacte o conteúdo do arquivo zip em um diretório de sua escolha, por exemplo C:\PHP\. A estrutura de arquivos e diretórios extraídos serão conforme mostrado abaixo:
Exemplo #1 Estrutura do pacote PHP 5
c:\php | +--dev | | | |-php5ts.lib -- php5.lib em versão non thread safe | +--ext -- DLLS de extensões para o PHP | | | |-php_bz2.dll | | | |-php_cpdf.dll | | | |-... | +--extras -- vazio | +--pear -- cópia inicial do PEAR | | |-go-pear.bat -- script de setup do PEAR | |-... | |-php-cgi.exe -- executável CGI | |-php-win.exe -- executa scripts sem um prompt de comando aberto | |-php.exe -- executável PHP de Linha de Comando (CLI) | |-... | |-php.ini-development -- configurações php.ini padrão | |-php.ini-production -- configurações php.ini recomendadas | |-php5apache2_2.dll -- não existe na versão non thread safe | |-php5apache2_2_filter.dll -- não existe na versão non thread safe | |-... | |-php5ts.dll -- principal DLL do PHP ( php5.dll em versão non thread safe) | |-...
Abaixo está a lista de módulos e executáveis incluídos na distrubuição zip:
go-pear.bat - o script de setup do PEAR. Veja a » Instalação (PEAR) para mais detalhes.
php-cgi.exe - executável CGI que pode ser usado quando rodar o PHP no IIS via CGI ou FastCGI.
php-win.exe - executável do PHP para executar scripts PHP sem usar uma janela de linha de comando (por exemplo aplicativos PHP que usam a interface (GUI) do Windows).
php.exe - executável do PHP para executar scripts PHP dentro de uma interface de linha de comando (CLI).
php5apache2_2.dll - módulo para o Apache 2.2.X.
php5apache2_2_filter.dll - filtro para o Apache 2.2.X.
Depois que o conteúdo do pacote php foi extraído, copie o php.ini-production para php.ini dentro da mesma pasta. Se necessário, também é possível colocar o php.ini em qualquer outra localização de sua escolha, mas isso requer configurações adicionais conforme descrito em Configuração do PHP.
O arquivo php.ini diz para o PHP como se configurar, e como trabalhar com o ambiente em que ele está rodando. Aqui estão algumas configurações do arquivo php.ini que ajudarão o PHP a funcionar melhor com o Windows. Algumas delas são opcionais. Existem muitas outras diretivas que podem ser relevantes para o seu ambiente - veja a lista de diretivas do php.ini para mais informações.
Diretivas requeridas:
extension_dir = <caminho para o diretório de extesões> - A extension_dir precisa apontar para o diretório onde as extensões do PHP estão guardadas. O caminho pode ser absoluto (ex: "C:\PHP\ext") ou relativo (ex: ".\ext"). Extensões que estão listadas mais abaixo no arquivo php.ini precisam estar localizadas em extension_dir.
extension = xxxxx.dll - Para cada extensão que você deseja ativar, você precisa de uma diretiva "extension=" correspondente que diga o PHP que extensão no extension_dir para carregar durante a inicialização.
log_errors = On - O PHP tem um dispositivo de log de erros que pode ser usado para enviar erros para um arquivo, ou um serviço (ex: syslog) e funciona em conjunto com a diretiva abaixo error_log. Quando rodando sob o IIS, a log_errors pode ser ativada, com um error_log válido.
error_log = <caminho para o arquivo de log de erro> - A error_log deve especificar o caminho absoluto, ou relativo para o arquivo onde os erros do PHP devem ser logados. O servidor web precisa ter permissão de escrita para esse arquivo. Os caminhos mais comuns para esse arquivo são em diretórios TEMP, por exemplo "C:\inetpub\temp\php-errors.log".
cgi.force_redirect = 0 - Essa diretiva é requerida para rodar sob o IIS. É uma diretiva de segurança requerida por muitos outros servidores web. Entretanto, ativá-la sob o IIS fará com que o motor do PHP falhe no Windows.
cgi.fix_pathinfo = 1 - Isso permite que o PHP acesse a informação de caminho real dentro das especificações CGI. A implementação de IIS e FastCGI precisa que isso seja configurado.
fastcgi.impersonate = 1 - O FastCGI sob IIS tem a habilidade de imitar tokens de segurança do cliente que está chamando. Isso permite que o IIS defina o contexto de segurança da chamada.
fastcgi.logging = 0 - O log de FastCGI deve ser desativado no IIS. Se for deixado ativo, qualquer mensagem de qualquer classe é tratada pelo FastCGI como condições de erro que farão o IIS gerar uma excessão HTTP 500.
Diretivas opcionais
max_execution_time = ## - Essa diretiva diz ao PHP qual o máximo de tempo que ele pode gastar executando um determinado script. O padrão é 30 segundos. Aumente o valor dessa diretiva se as aplicações demoram muito tempo para executar.
memory_limit = ###M - A quantidade de memória disponível para o processo do PHP, em Megabytes. O padrão é 128, que é o suficiente para a maioria das aplicações PHP. Algumas mais complexas podem precisar de mais.
display_errors = Off - Essa diretiva diz ao PHP para incluir, ou não, qualquer mensagem de erro na corrente que ele retorna ao servidor Web. Se isso for configurado para "On", então o PHP irá enviar ao web server qualquer classe de erro que você definir na diretiva error_reporting como parte da corrente de erro. Por razões de segurança é recomendado que seja configurada para "Off" em servidores de produção, para não revelar qualquer informação de segurança sensível que é geralmente incluída nas mensagens de erro.
open_basedir = <caminhos para diretórios, separados por ponto-e-vírgula>, ex: openbasedir="C:\inetpub\wwwroot;C:\inetpub\temp". Essa diretiva especifica os caminhos para os diretórios onde o PHP pode executar operações de sistema de arquivos. Qualquer operação fora desses caminhos especificados resultará em um erro. Essa diretiva é especificamente útil para travar a instalação do PHP dentro de ambientes de hospedagem compartilhados para previnir scripts PHP de acessarem quaisquer arquivos fora do diretório raiz do web site.
upload_max_filesize = ###M e post_max_size = ###M - O tamanho máximo permitido de um arquivo subido e dados de post, respectivamente. Os valores dessas diretivas devem ser aumentados em aplicações PHP que precisam fazer grandes uploads, como por exemplo arquivo de fotos e vídeos.
O PHP agora está configurado no seu sistema. O próximo passo é escolher um servidor web, e fazer com que ele rode o PHP. Escolha um servidor na tabela de conteúdos.
Além de rodar o PHP em um servidor web, o PHP pode rodar a partir da linha de comando assim como um script .BAT. Veja PHP de linha de comando no Microsoft Windows para mais detalhes.