como instalar o PHP no IIS 7 para Windows Server 2008

Um dos mais plataformas de desenvolvimento populares da web é PHP que alimenta muitas aplicações e sites como o Facebook, WordPress e Joomla populares. Embora a maioria destes sistemas são “projetadas” para ser usado em um sistema Linux executando o Apache Web Server, você pode implantar aplicações PHP via IIS 7 no seu sistema Windows Server 2008.

Para que o Windows para executar código PHP, os arquivos binários PHP precisam ser copiados para o seu sistema. Nenhuma instalação é necessária, no entanto alguma configuração deve ser feito para que ele seja executado corretamente. O primeiro passo é fazer o download do PHP Windows binários e extraí-los (ou seja, ‘C: PHP’). Para o IIS 7, devem ser utilizados os binários seguros não rosca.

Copie o arquivo ‘php.ini-produção “dos arquivos extraídos colá-lo no diretório do Windows. No diretório do Windows, renomeie este arquivo para ‘php.ini’.

Abra o arquivo ‘php.ini’ no bloco de notas e configurá-lo conforme necessário. Fora da caixa, a configuração de produção copiamos é pré-configurado para o que a equipe de PHP sente é bom para um servidor de produção. Há algumas mudanças que você precisa fazer para configurar o PHP para o seu sistema IIS 7

Neste ponto, o sistema Windows pode executar scripts PHP a partir da linha de comando usando a ferramenta ‘php.exe’.

Internet Information Services (IIS) 7 inclui o enquadramento FastCGI como parte do pacote de instalação. Para se certificar de que está habilitado em sua instalação do IIS 7, consulte os serviços de função sob Server Manager> Roles> Web Server.

Certifique-se a opção “CGI” está instalado na seção “Desenvolvimento de Aplicações”. Se não estiver, ative esse recurso e atualizar sua instalação IIS 7.

Uma vez que o IIS está definido, instale o IIS 7 Administration Pack. Se você não usar a configuração “típica”, em seguida, verifique se você tem a opção “FastCGI” configurado para instalar. Este pacote instala a interface de configuração FastCGI dentro do Gerenciador do IIS.

Uma vez que o IIS 7 é configurado com todos os recursos necessários, que só precisa configurá-lo para executar PHP. Primeiro, configurar FastCGI para trabalhar com PHP na opção “Configurações de FastCGI” (esse recurso é instalado como parte do IIS 7 Administration Pack).

Na tela de Configurações de FastCGI, adicionar um aplicativo.

Defina o caminho para o executável ‘php-cgi.exe’ localizado na pasta onde você extraiu os binários PHP Windows. Além disso, mudar os “InstanceMaxRequests” para um valor mais elevado do que o padrão (ou seja, 5000). Na configuração “EnvironmentVariables”, clique no botão reticências para configurar opções adicionais.

Adicionar uma nova variável chamada “PHP_MAX_REQUESTS” e defina o valor para a mesma quantidade que os “InstanceMaxRequests” configuração acima.

Aplicar todas as configurações até você voltar para a tela principal do Gerenciador do IIS.

Em seguida, temos de mapear como os scripts PHP são executados pelo IIS que está configurado em “Mapeamentos de manipulador”.

Nos mapeamentos do manipulador, adicione um novo mapeamento do módulo.

Definir o caminho pedido do módulo para arquivos PHP (* .php) com a interface de módulo “FastCgiModule”. Definir o executável para o mesmo arquivo como o que foi definido nas configurações FastCGI acima. Atribuir um nome amigável para esse mapeamento, tais como PHP, e clique em OK.

Quando você receber o prompt de confirmação, responda “Sim” para confirmar que deseja PHP para ser executado como uma aplicação FastCGI.

Aplicar todas as alterações, fechar e reiniciar o IIS para se certificar de que as novas configurações tenham efeito.

Uma vez feito isso, há uma correcção da Microsoft disponível (um link está disponível na seção de links), que aborda alguns problemas com o PHP quando executados no IIS 7. Estes devem ser instalados no seu servidor web para assegurar funções PHP adequadamente através FastCGI.

Neste ponto, o servidor está pronto para ir, mas só para ter certeza de que podemos confirmar a sua configuração do PHP através do IIS com bastante facilidade. Criar um arquivo de texto no diretório C: Inetpubwwwroot ‘nome’ phpinfo.php “, que simplesmente contém a linha

Finalmente, navegue até o endereço: ‘http: //localhost/phpinfo.php’ no seu servidor e você deve ver a página de informações do PHP. Se a página for carregada com êxito, PHP está agora instalado e funcionando em sua máquina.

Uma vez que você tem o PHP instalado e funcionando em seu sistema Windows, você pode tirar proveito do grande número de aplicações baseadas em PHP disponíveis, bem como desenvolver e implementar o seu próprio.

Baixar PHP do Windows Binaries (seguros não thread)

Baixar IIS 7 Administration Pack

Baixar PHP sobre a correcção para o IIS 7 FastCGI (x86 / x64)

Eu tentei isso … e tenho esse erro

Erro HTTP 500.0 – Erro de servidor interno; um erro desconhecido ocorreu FastCGI

Todas as ideias sobre por quê?

Thanks !!!; LJ

Você precisa tanto o Microsoft Visual C ++ 2008 Redistributable Package (x86) ou a versão 65bit, tudo depende qual o PHP o seu uso .. x86 / x64

Em “Restrições do Pedido”, você deve selecionar Arquivo na guia Mapeamento de modo iis usará a página de erro padrão 404. Caso contrário, você vai ter “Nenhum arquivo de entrada especificado.” Por arquivos php não foram inexistentes.

– Tom

fyi … Eu tentei isso em W2k8 R2 SP1 com o IIS 7.5 e ele funciona muito bem. Eu tenho um compliled nts x64 php a partir daqui: http://www.anindya.com/php-5-3-5-x64-64-bit-for-windows/ e descobriu que a administração do IIS Pack e do PHP Hotfix são não é necessário (já incluído).

Obrigado pelas direcções / guia!

@ Tom Thorogood; Agradecemos a sua dica! Ele resolveu o meu problema !! 🙂

Obrigado, muito obrigado !!; Apenas uma pergunta rápida, é que isto vai funcionar da mesma forma para o IIS 7 no Windows 7 (e não apenas o Windows Server 2008). Eu tenho sido capaz de me limpar do; Erro de HTTP 404.3 – não encontrado; A página que você está solicitando não pode ser servida por causa da configuração de extensão. Se a página é um script, adicione um manipulador. Se o arquivo deve ser baixado, adicionar um mapa MIME.

Eu estava ficando antes de adicionar aplicativo MIME type.php / x-httpd-php; E Handler bem;. Mas eu acho que o PHP não está instalada corretamente (usado tanto do servidor IIS e Apache Server e ambos não processar o PHP, então não deve haver algo errado nessa instalação). Por favor sugerir uma correção que você pode ter usado ou passos para verificar o trabalho?

@Am – Eu não sou realmente certo o que você está pedindo, mas para responder à sua primeira pergunta, isso deve funcionar no Windows 7 porque ele é executado a mesma versão do IIS como Server 2008.

Obrigado pela sua resposta. O problema é IIS7 no Windows 7 does’t permitem configurar funções em Server Manager. Ele precisa se conectar a outro computador remoto. Não sei por que eles permitem isso em Server 2008, mas não no IIS 7. Eu segui todos os outros passos, mas ainda meu PHP não funciona (última etapa ainda não executar PHP via IIS, ele só exibe o código PHP ..

Eu quis dizer Server 2008, mas não no Windows 7 * *

@Am – Eu nunca configurado PHP para ser executado sob o Windows 7, mas desde que você disse que está exibindo o código, volte para o seu post anterior e certifique-se você não tem um tipo MIME de texto (ou algo semelhante) atribuído ao extensão .php. Eu não acredito que você precisa para tê-lo em tudo mapeado como um tipo MIME.

Obrigado, seu artigo foi muito útil.

Eu segui as instruções exatamente, mas estou recebendo um erro de 404,3

Erro HTTP 404.3 – não encontrado

A página que você está solicitando não pode ser servida por causa da configuração de extensão. Se a página é um script, adicione um manipulador. Se o arquivo deve ser baixado, adicionar um mapa MIME.

Módulo: StaticFileModule; Notificação: ExecuteRequestHandler; Handler: StaticFile; Método de logon: Anonymous; logon do usuário: Anonymous

Poderia ser um problema de permissões? Não sei o que mais poderia ser.

(RE: último post sobre 404.3 erro)

Eu recebo este erro quando vai para o meu arquivo test.php localmente, (http://127.0.0.1/redtopia/test.php), mas não quando eu acessá-lo do lado público (http://www.redtopia.com/ test.php). I triplo verificado o caminho e ele deve estar funcionando.

obras, mas, retorna página em branco?

? # Php phpinfo (), # obras, mas;;? Você pode me dizer por que #? ? Phpinfo (), # retorna página em branco;? Obrigado!

Muito obrigado!

Server 2008 R2

http: //localhost/phpinfo.php – Obras

http: //localhost/contact-us.php – exibe a página em branco

http: //localhost/blog/wp-admin/installl.php – exibe a página em branco

Microsoft Visual C ++ 2008 Redistributable Package (x86) 64 bits é tudo instalado;. PHP 64 Bit instalado a partir de link acima

6 horas batem-se e ainda páginas em branco ???

Alguém? Por favor 🙂 Obrigado!

Testado com

Thanks for the walk-through. Uma coisa a notar, dependendo de como as pessoas adicionam os binários do PHP para o servidor, certifique-se de fornecer privilégios suficientes para a pasta php! Eu estava recebendo o seguinte erro; HTTP Erro 500.0 – Internal Server Error Ocorreu um erro FastCGI desconhecida; e ele me levou muito tempo para descobrir a C: php \ pasta \ não têm mínimo ‘ler’ privilégios para todos.

Isso funcionou muito bem para mim! I teve para obter o nts x64 PHP como afixado em um link por Sean O’Brien. Estou usando o 64-Bit Windows 2008 R2 Server com SP1

A palavra verbo é um substantivo (como se descreve um membro de uma classe de palavras).