Manual do PHP
Anterior | Capítulo 6. Instalação em sistemas Windows | Próxima

# Passos da Instalação Manual

Esse guia de instalação ajudará você a instalar manualmente e configurar o PHP com um servidor web no Microsoft Windows. Para começar, você precisará baixar o zip com a distribuição binária da página de downloads em http://www.php.net/downloads.php.

Embora existam muitos kits de instalação "completos", e nós também distribuímos um instalador do PHP para o Microsoft Windows, nós recomendamos que você se dê ao trabalho de instalar o PHP manualmente uma vez que isso lhe permitirá um melhor entendimento do sistema, e permite que você instale extensões do PHP facilmente quando precisar.

> Atualizar uma versão instalado do PHP: Edições anteriores do manual sugeriam mover vários arquivo ini e DLL para o seu diretório SYSTEM (ex.: `C:\WINDOWS`) e, embora isso simplifique o processo de instalação, torna a atualização difícil. Nós aconselhamos que você remova esses arquivos (como `php.ini` e DLLs relacionadas ao PHP da pasta SYSTEM do Windows) antes de continuar com uma instalação nova do PHP. Assegure-se de fazer um backup desses arquivos já que você pode corromper o sistema inteiro. O arquivo `php.ini` da versão anterior a que você quer instalar pode ser útil na versão nova. E, como você aprenderá a seguir, o método preferido para instalar o PHP é manter todos os arquivos relacionados ao PHP em um diretório e disponibilizar esse diretório no PATH do seu sistema.

> Requerimentos MDAC: Se você usa o Microsoft Windows 98/NT4, baixe a última versão do Microsoft Data Access Components (MDAC) para sua plataforma. MDAC está disponível em http://msdn.microsoft.com/data/. Esse requerimento existe porque ODBC é compilado nos binários distribuídos para o Windows.

Os passos a seguite devem ser completados em todas as instalações antes de qualquer instruções específicas ao servidor sejam feitas:

Extraia o arquivo da distribuição no diretório de sua escolha. Se você estiver instalando o PHP 4, extraia em `C:\`, uma vez que o arquivo zip expande para uma pasta de nome parecido com `php-4.3.7-Win32`. Se você estiver instalando o PHP 5, extraia em `C:\php` já que o arquivo zip não expande como no PHP 4. Você pode escolher uma localização diferente, desde que não tenha espaços no caminho (como `C:\Program Files\PHP`) já que alguns servidores web irão travar se tiver.

A estrutura de diretório extraida do zip é diferente para as versões 4 e 5 e se parecem com as seguintes:

Exemplo 6-1. Estrutura de diretório para o PHP 4
    c:\php
       |
       +--cli
       |  |
       |  |-php.exe           -- executável CLI - Só para uso na linha de comando.
       |
       +--dlls                -- DLLs de suporte, necessárias para algumas extensões
       |  |
       |  |-expat.dll
       |  |
       |  |-fdftk.dll
       |  |
       |  |-...
       |
       +--extensions          -- DLLs de extensões para o PHP
       |  |
       |  |-php_bz2.dll
       |  |
       |  |-php_cpdf.dll
       |  |
       |  |-..
       |
       +--mibs                -- arquivos de suporte para SNMP
       |
       +--openssl             -- arquivos de suporte para Openssl
       |
       +--pdf-related         -- arquivos de suporte para PDF
       |
       +--sapi                -- DLLs de SAPI (suporte a módulo de servidor)
       |  |
       |  |-php4activescript.dll
       |  |
       |  |-php4apache.dll
       |  |
       |  |-php4apache2.dll
       |  |
       |  |-..
       |
       +--PEAR                -- cópia inicial do PEAR
       |
       |
       |-go-pear.bat          -- script de configuração do PEAR
       |
       |-..
       |
       |-php.exe              -- executável CGI
       |
       |-..
       |
       |-php.ini-dist         -- configurações padrão do php.ini
       |
       |-php.ini-recommended  -- configurações recomendadas do php.ini
       |
       |-php4ts.dll           -- DLL núcleo do PHP
       |
       |-...

Ou:

Exemplo 6-2. Estrutura de diretório para o PHP 5
    c:\php
       |
       +--dev
       |  |
       |  |-php5ts.lib
       |
       +--ext                 -- DLLs de extensões para o PHP
       |  |
       |  |-php_bz2.dll
       |  |
       |  |-php_cpdf.dll
       |  |
       |  |-..
       |
       +--extras
       |  |
       |  +--mibs             -- arquivos de suporte para SNMP
       |  |
       |  +--openssl          -- arquivos de suporte para Openssl
       |  |
       |  +--pdf-related      -- arquivos de suporte para PDF
       |  |
       |  |-mime.magic
       |
       +--pear                -- cópia inicial do PEAR
       |
       |
       |-go-pear.bat          -- script de configuração do PEAR
       |
       |-fdftk.dll
       |
       |-..
       |
       |-php-cgi.exe          -- executável CGI
       |
       |-php-win.exe          -- executa scripts sem um prompt de comando aberto
       |
       |-php.exe              -- CLI executável - Só para uso em linha de comando
       |
       |-..
       |
       |-php.ini-dist         -- configurações padrão do php.ini
       |
       |-php.ini-recommended  -- configurações recomendadas do php.ini
       |
       |-php5activescript.dll
       |
       |-php5apache.dll
       |
       |-php5apache2.dll
       |
       |-..
       |
       |-php5ts.dll           -- DLL núcleo do PHP
       |
       |-...

Note as diferenças e similaridades. Tanto o PHP 4 quanto o 5 tem um executável CGI, um executável CLI, e módulos do servidor, mas eles estão localizados em pastas diferentes e/ou tem nomes diferentes. Enquanto no PHP 4 os módulos do servidor estão na pasta `sapi`, no PHP 5 não há tal diretório e, ao invés disso, eles estão na pasta principal do PHP. As DLLs de suporte para as extensões do PHP 5 também não estão em um diretório separado.

> Nota: No PHP 4, você deve mover todos os arquivos localizados nas pastas `dll` e `sapi` para a pasta principal (ex.: `C:\php`).

Aqui está uma lista dos módulos de servidor liberados com o PHP 4 e PHP 5:

- `sapi/php4activescript.dll (php5activescript.dll)` - ActiveScript engine, permitindo imbutir PHP em aplicações Windows.

- `sapi/php4apache.dll (php5apache.dll)` - Módulo do Apache 1.3.x.

- `sapi/php4apache2.dll (php5apache2.dll)` - Módulo do Apache 2.0.x.

- `sapi/php4isapi.dll (php5isapi.dll)` - Módulo do ISAPI para servidores que suportam ISAPI como IIS 4.0/PWS 4.0 ou superior.

- `sapi/php4nsapi.dll (php5nsapi.dll)` - Módulo dos servidores Sun/iPlanet/Netscape.

- `sapi/php4pi3web.dll (não tem equivalente no PHP 5)` - Módulo do servidor Pi3Web.

Módulos de servidor tem performance significativamente melhor e funcionalidades adiconais comparados com o binário CGI. A versão CLI é desenhada para permitir usar o PHP para scripts de linha de comando. Mais informação sobre CLI disponível no capítulo sobre usando PHP da linha de comando.

Atenção
Os módulos SAPI foram melhorados significativamente a partir do release 4.1, no entanto, em sistemas mais antigos, você pode encontrar erros de servidor e outros módulos do servidor podem falhar, como ASP.

Os binários CGI e CLI, e os módulos de servidor web todos necessitam do arquivo `php4ts.dll` (`php5ts.dll`) para funcionar corretamente. Você tem que assegurar que esse arquivo pode se encontrado pela sua instalação do PHP. A ordem de busca para essa DLL é como segue:

- O mesmo diretório onde o arquivo `php.exe` é chamado, ou no caso de usar um módulo SAPI, o diretório do servidor web (ex.: `C:\Program Files\Apache Group\Apache2\bin`).

- Qualquer diretório no na sua variável de ambiente PATH do Windows.

Para disponibilizar `php4ts.dll` / `php5ts.dll` você tem três opções: copiar o arquivo para o diretório system do Windows, copiar o arquivo para o diretório do servidor web, ou adicionar o diretório do PHP, `C:\php` no PATH. Para melhor manutenção, nós aconselhamos que você siga a última opção, adicione `C:\php` ao PATH, porque é mais simples atualizar o PHP no futuro. Leia mais sobre como adicionar o diretório ao PATH no FAQ correspondente.

O próximo passo é configurar um arquivo de configuração válido para o PHP, `php.ini`. Existem dois arquivo ini distribuídos no arquivo zip, `php.ini-dist` e `php.ini-recommended`. Nós aconselhamos que você use `php.ini-recommended`, porque nós otimizamos as configurações padrão nesse arquivo para performance e segurança. Leia esse arquivo bem documentado cuidadosamente porque tem diferenças do `php.ini-dist` que afetarão dramaticamente sua configuração. Alguns exemplos são display_errors como off e magic_quotes_gpc como off. Além de ler esse arquivos, estude as configurações do arquivo `php.ini` e altere cada elemento por conta própria. Se você quiser ter o máximo de segurança, então essa é opção para você, embora o PHP funcione bem com esses arquivos ini padrão. Copie o arquivo ini escolhido para um diretório que o PHP é capaz de achá-lo e renomei para `php.ini`. O PHP procura por `php.ini` nas seguintes localização (em ordem):

- Diretiva PHPIniDir (apenas o módulo do Apache 2)

- HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath

- A variável de ambiente PHPRC

- O diretório do PHP (para CLI), ou o diretório do servidor web (para módulos SAPI)

- Diretório do Windows (`C:\windows` ou `C:\winnt`)

Se você estiver executando o Apache 2, a opção mais simples é usar a diretiva PHPIniDir (leia a página instalação no Apache 2). Caso contrário, sua melhor opção é criar a variável de ambiente PHPRC. Esse processo é explicado no seguinte FAQ.

> Nota: Se você estiver usando NTFS no Windows NT, 2000, XP ou 2003, assegure-se que o usuário executando o servidor web tem permissões de leitura ao seu arquivo `php.ini` (ex.: faça com que seja lido por Everyone (Todos) ).

Os passos a seguir são opcionais:

- Edite seu no arquivo `php.ini`. Se você planeja usar OmniHTTPd, não faça o passo a seguir. Edite o doc_root para apontar para o document_root do servidor web. Por exemplo:

      doc_root = c:\inetpub\wwwroot // para IIS/PWS

      doc_root = c:\apache\htdocs // para Apache

- Selecione as extensões que você quer que sejam carregadas quando o PHP iniciar. Veja a seção sobre extensões no Windows, sobre como configurar uma, e quais já estão integradas. Note que em uma instalação nova, é aconselhável primeiro fazer o PHP funcionar e testá-lo sem extensões e depois habilitá-las no arquivo `php.ini`.

- No PWS e IIS, você pode editar a configuração browscap para que ela aponte para: `c:\windows\system\inetsrv\browscap.ini` no Windows 9x/Me, `c:\winnt\system32\inetsrv\browscap.ini` no NT/2000, e `c:\windows\system32\inetsrv\browscap.ini` no XP. Para um arquivo `browscap.ini` atualizado, leia o seguinte FAQ.

O PHP agora está configurado no seu sistema. O próximo passo é escolher um servidor web, e habilitá-lo para executar o PHP. Escolha um servidor web da tabela de conteúdos.

Anterior | Principal | Próxima
Instalação em sistemas Windows | Acima | ActiveScript