Essa seção contêm notas e dicas específicas para o IIS (Microsoft Internet Information Server). Nós incluímos instruções de instalação para as versões PWS/IIS 3, PWS 4 ou superior e IIS 4 ou superior.
Importante para usuários CGI: Leia o faq sobre cgi.force_redirect para detalhes importantes. Essa diretiva precisa estar configurada para o valor 0.
Atenção |
Se utilizar a instalação CGI, seu servidor estará aberto a possíveis ataques. Leia nossa seção de segurança CGI para aprender em como se defender desses ataques. |
O método recomendado para configurar o PHP nesses servidores é usar o arquivo REG incluso na distribuição (pws-php4cgi.reg na pasta SAPI para o PHP 4, ou pws-php5cgi.reg na pasta principal para o PHP 5). Você pode querer editar o arquivo e assegurar-se que o diretório das extensões e do PHP estão corretos. Ou você pode seguir os passos abaixo para fazer manualmente.
Atenção |
Esses passos involvem trabalhar diretamente com o registro do Windows. Um erro aqui pode deixar seu sistema em um estado instável. Nós recomendamos que você faça um backup do seu registro primeiro. O time de desenvolvimento do PHP não será responsável se você danificar seu registro. |
Execute Regedit.
Vá até: HKEY_LOCAL_MACHINE /System /CurrentControlSet /Services /W3Svc /Parameters /ScriptMap.
No menu de editar (edit) selecione: New->String Value.
Digite a extensão que você quer para seus scripts PHP. Por exemplo .php
Clique duas vezes no novo valor string e entre o caminho para php.exe no campo de valor. ex: C:\php\php.exe para o PHP 4, ou C:\php\php-cgi.exe para o PHP 5.
Repita esses passos para cada extensão que você quiser associar com scripts PHP..
Os passos a seguir não afetam a instalação do servidor web e só se aplicam se você quiser que seus scripts sejam executados quando eles forem chamados da linha de comando (ex. run C:\myscripts\test.php) ou clicando duas vezes neles na janela de visualização de diretório. Você pode pular esses passos já que você pode preferir que os arquivos PHP sejam carregados em um editor de texto quando você clicar duas vezes neles.
Vá até: HKEY_CLASSES_ROOT
No menu de editar (edit) selecione: New->Key.
Nomeie a chave com a extensão que você configurou na seção anterior. ex: .php
Selecione a chave nova e no painel do lado direto, clique duas vezes no "default value" e digite phpfile.
Repita o passo anterior para cada extensão que você configurou na seção anterior.
Agora crie um outra chave (New->Key) em HKEY_CLASSES_ROOT e chame ela de phpfile.
Selecione a chave nova phpfile e no painel do lado direito, clique duas vezes em "default value" e digite PHP Script.
Clique com o botão direito na chave phpfile e selecione New->Key, e a chame de Shell.
Clique com o botão direito na chave Shell e selecione New->Key, e a chame de open.
Clique com o botão direito na chave open e selecione New->Key, e a chame de command.
Selecione a chave nova command e no painel do lado direito, clique duas vezes em "default value" e entre o caminho para php.exe. ex: c:\php\php.exe -q %1. (não esqueça o %1).
Saia do Regedit.
Se estiver usando PWS no Windows, reinicie para recarrega o registro.
Usuários do PWS e do IIS 3 agora tem um sistema totalmente operacional. Usuários do IIS 3 pode usar uma ferramenta legal de Steven Genusa para configurar os mapas dos seus scripts.
Quando estiver instalando o PHP no Windows com PWS 4 ou superior, você tem duas opções. Uma é configurar o PHP como CGI, a outra é usar a DLL de módulo ISAPI.
Se você escolheu o binário CGI, faça o seguinte:
Edite o arquivo pws-php4cgi.reg / pws-php5cgi.reg (procure na pasta SAPI para o PHP 4, ou na pasta principal para o PHP 5) para que a localização de php.exe / php-cgi.exe esteja correta. Barras invertidas devem ser escapadas, por exemplo: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="C:\\php\\php.exe" (mude para C:\\php\\php-cgi.exe se você estiver usando o PHP 5) Agora faça com o arquivo sejam acrescentados ao registro do Windows, você pode fazer isso clicando duas vezes no mesmo.
No PWS Manager, clique com o botão direito em um diretório qualquer que você queira adicionar suporte ao PHP nele e selecione Propriedades. Cheque a caixa 'Executar' e confirme.
Se você escolher o módulo ISAPI, faça o seguinte:
Edite o arquivo pws-php4isapi.reg / pws-php5isapi.reg (procure na pasta SAPI para o PHP 4, ou na pasta principal para o PHP 5) para que a localização de php4isapi.dll / php5isapi.dll esteja correta. Barras invertidas devem ser escapadas, por exemplo: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="C:\\php\\sapi\\php4isapi.dll" (ou C:\\php\\php5isapi.dll para o PHP 5) Agora faça com o arquivo sejam acrescentados ao registro do Windows, você pode fazer isso clicando duas vezes no mesmo.
No PWS Manager, clique com o botão direito em um diretório qualquer que você queira adicionar suporte ao PHP nele e selecione Propriedades. Cheque a caixa 'Executar' e confirme.
Para instalar o PHP em um servidor NT/2000/XP Server rodando IIS 4 ou superior, siga essas instruções. Você tem duas opções de configuração para o PHP, usando o binário CGI (php.exe no PHP 4, ou php-cgi.exe no PHP 5) ou com o módulo ISAPI.
Em ambos os casos, você precisa iniciar o Microsoft Management Console (pode aparecer como 'Internet Services Manager', ou no seu Windows NT 4.0 Option Pack branch ou no Painel de Controle=>Ferramentas Administrativas no Windows 2000/XP). Então clique com o botão direito no nódulo do seu servidor Web (provavelmente aparecerá como 'Default Web Server'), e selecione 'Propriedades'.
Se você quiser usar o binário CGI, faça o seguinte:
Em 'Diretório Home', 'Diretório Virtual', ou 'Diretório', clique no botão 'Configuração', e entre no tab App Mappings.
Clique em Adicionar (Add), e na caixa Executável (Executable), digite: C:\php\php.exe para o PHP 4 ou C:\php\php-cgi.exe para o PHP 5 (presumindo que pode descompactou o PHP em c:\php\).
Na caixa Extensão (Extension), digire o nome da extensão de arquivo que você quer que seja associada ao PHP. Deixe 'Method exclusions' em branco, e marque a caixa 'Script engine'. Você pode querer também marcar a caixa 'check that file exists'- gera uma pequena queda de performance, IIS (ou PWS) testará que o arquivo do script existe e testa autenticação antes de iniciar o PHP. Isso significa que você terá uma mensagem de erro 404 ao ivés de erros de CGI reclamando que o PHP não teve resultado algum.
Você deve refazer o passo anterior para cada extensão que você quiser associar com scripts PHP. .php e .phtml são comuns, embora .php3 pode ser necessário para aplicações antigas.
Configure a segurança apropriada. (Isso é feito no Internet Service Manager), e se servidor NT usar o sistema de arquivos NTFS, adicione direitos de execução para I_USR_ no o diretório que contem php.exe / php-cgi.exe.
Para o módulo ISAPI, faça o seguinte:
Se você não quiser fazer autenticação HTTP usando o PHP, você pode (e deve) pular esse passo. Em filtros ISAPI, adicione um novo filtro ISAPI. Use PHP como nome do filtro e dê o caminho para o arquivo php4isapi.dll / php5isapi.dll.
Em 'Diretório Home', clique no botão 'Configuração'. Adicione um novo valor à Application Mappings. Use o caminho para o arquivo php4isapi.dll / php5isapi.dll como o Executável, dê .php como extensão, deixe 'Method exclusions' em branco, e marque a caixa 'Script engine'.
Pare o IIS completamente (NET STOP iisadmin)
Inicie o IIS de novo (NET START w3svc)
Se você tiver uso de CPU de 100% por algum tempo, desligue o IIS configurando Cache ISAPI Application.