Como instalar o PHP no IIS

Muito bomEste texto foi classificado como Muito bom

Tutorial que ensina de forma clara e simples o passo a passo de como instalar e configurar o PHP no Internet Information Services (IIS). Windows Server com PHP funciona... :)

Quando eu estava em São Paulo, no Campus Party aconteceu duas vezes do And After sobrecarregar o servidor, sair do ar e prejudicar outros clientes do servidor compartilhado.

Para resolver o problema resolvi partir para um servidor dedicado (não só para o And After, mas também outros para sites/serviços que eu administro) e para isso tive que aprender um pouco sobre configuração de servidor, pois agora eu sou responsável por isso sem painel (plesk, cpanel, etc...), está tudo "nu e cru", direto no IIS.

Uma das coisas que eu nunca tinha feito era configurar o PHP no IIS e procurando pela internet encontrei vários tutoriais: muito extensos, com informações faltando, tive que juntar informações de vários artigos (e fingir que não li tantas outras) para encontrar o caminho mais curto para essa configuração. Os tutoriais em inglês foram os que mais ajudaram, então fiz um passo a passo do que eu fiz para configurar aqui, descartando as algumas configurações que não tiveram impacto nenhum no funcionamento do PHP (pelo menos até agora).

Neste artigo não vou explicar como instalar e configurar o IIS, vou apenas ensinar como conigurar o PHP supondo que o IIS já está funcionando e rodando em sua máquina.

 

Como configurar o PHP no IIS

Em três passos é possível estar com o PHP instalado e configurado, vou explicar da forma mais rápida e direta possível, lembrando que estes passos são para quem já tem o IIS instalado e rodando na máquina.

  1.  Instalar o PHP
  2. Configurar o PHP
  3. Configurar o IIS
  4. Testar

 


Instalar o PHP

Faça o download do PHP, a versão que eu utilizei foi a 5.2.8, recomendo que você utilize sempre a última versão. Não se esqueça de baixar da lista Windows Binaries, já que ele será instalado no IIS.

O download é um arquivo .zip, descompacte este arquivo na pasta C:PHP (você pode esoclher qualquer pasta, esta será a pasta utilizada para este tutorial).

Na pasta que você descompactou, procure pelo arquivo php.ini-recommended

Copie este arquivo para C:WINDOWS OU para C:WINNT, depende da versão do SO no seu servidor.

Renomeio o arquivo php.ini-recommended (o que está na pasta do windows) para php.ini 

Pronto, o PHP está instalado.

 


Configurando o PHP

O que você precisa fazer para funcionar no IIS é o seguinte, abra o arquivo php.ini e procure pela linha de configuração cgi.force_redirect. Ela está como comentário (tem um ; no início da linha) e vai estar com o valor 1.

Retire o ; para esta linha deixar de ser comentário e troque o valor para 0 no lugar do 1 que tinha antes.

Este foi o passo mais importante e que eu mais demorei para resolver da configuração PHP no IIS, então não esqueça de fazer o que está aí em cima!

 

Não vou dar muitas explicações sobre as configurações do PHP, se você quiser realmente configurar ele para o que você precisa você deve ler o php.ini (que foi copiado para a pasta do windows) e ir alterando as configurações por lá.

 

Configurando as extensões do PHP

Procure pela linha da configuração "extension_dir" (sem aspas) no php.ini e coloque o valor "C:PHPext" (lembrando que neste caso C:PHP é o local onde descompactei os arquivos).

Existe uma série de configurações das extensões, você pode selecionar extensões para serem carregadas 

 

Em alguns tutorias que li diziam que era necessário copiar todos os arquivos que não são dll´s da pasta C:PHP para C:WindowsSystem32. 

Eu não fiz isso e funcionou.

 


Configurando o IIS

Com o PHP instalado e configurado, você precisa fazer com que o IIS reconheça a extensão PHP, então vamos lá.

Abra o IIS, clique com o botão direito em Web Sites e clique em Propriedades.

Vá para a aba Home Directory e clique em Configuration (botão localizado na parte de "Apliccation settings")

Clique em ADD, no campo Executable clique em Browse e procure o arquivo php5isapi.dll (neste caso ele está em C:PHPphp5isapi.dll)

No campo Extension digite .php

Clique em OK e volte para o IIS.

Se você já tem sites configurados no servidor aplique este passo em todos os sites que deverão rodar PHP.

 

 

No IIS clique com o botão direito em Web Service Extension e em Add a New Web service extension

Em Extension Name digite PHP, clique em Add para adicionar um arquivo e procure novamente pelo php5isapi.dll.

Clique em OK e reinicie o servidor, seu servidor deve estar pronto para interpretar scripts em PHP.

 

 


Testando

Em algum site configurado no IIS (se não tiver nenhum, configure-o) crie um arquivo teste.php com o código abaixo

<?php phpinfo(); ?>

Abra o navegador e execute o arquivo, exemplo: http://localhost/teste.php

Deverá aparecer uma página com as configurações do PHP funcionando.

 

Se der erro que o arquivo não existe (404) verifique se você configurou corretamente o site (teste em um arquivo .html para ver se ele é encontrado), se o site estiver funcionando corretamente pode ser problema na configuração da extensão.

Vá em Web Service Extension dentro do IIS e veja se a extensão PHP que você adicionou está aparecendo.

Vverifique se ela está aparecendo nas configurações do aplicativo (Web sites -> Home directory -> configuration) a extensão .php.

 

Espero ter ajudado, aqui tudo funcionou certinho seguindo estes passos! :)

Em: Internet, Programação, Softwares

Tags: php, iis, server, servidor, host

O que você achou do texto?

  • Muito ruim
  • Ruim
  • Regular
  • Bom
  • Muito bom
Sua opinião é o que faz a comunidade funcionar, colabore para isso!
  • Rec6
  • ueba
  • linkk
  • dihitt
  • linkloko
  • websapiens
  • linkto

Comentários

Chris Benseler
9/2/2009 12:47:00

Uma dúvida: dá pra rodar ASP e PHP no mesmo webserver? Eu lembro que penei quando tive que rodar o .Net no Apache do Windows. Uma complicação só... hehe

[Responder este comentário]

Guilherme Serrano

9/2/2009 12:59:00

Dá sim... Com essa configuração ele usa os dlls do php para qualquer arquivo com extensão .php, os arquivos .asp continuam "intactos" funcinando sem problema nenhum, mesmo no mesmo site :)


Tharcísio
20/4/2009 16:02:00

Não estou conseguindo configurar com o mysql. Já descomentei a linha extension=php_mysql.dll mas no phpinfo não aparece nada. O que pode ser?

[Responder este comentário]

Guilherme Serrano

11/5/2009 16:44:00

Oi Tharcício, mal a demora para responder, vi o comentário só hoje! Pode ser o que está acontecendo com o Daniel, que me escreveu dizendo que não estava conseguindo alterar nada no PHP.ini. Você está alterando o arquivo php.ini certo, o que está dentro da pasta do Windows? Se estiver no arquivo certo, o MySQL está funcionando corretamente sem ser com o PHP? Abraço!


Rodolfo da Silva Neves
[www] 12/6/2009 23:00:00

Olá amigo.
Gostei muito da sua simpatia e espontaneidade, principalmente em ajudar as pessoas.
Gostaria de que pudesse dar-me um conselho: sou presidente de uma entidade assistencial, de caráter ambientalista, a Made in Brazil, e estou com uma dúvida cruel. Estou fazendo um site - o site que se encontra no ar agora está uma porcaria - e não sou um grande programador, na realidade estou muito longe de ser um.
Tenho uma noção razoável de asp 3.0 e quase nenhuma de php.
Eu consegui configurar o php para rodar no iis server e está rodando numa boa. Preciso construir um site de grande porte, com uma grande quantidade de serviços voltados para o associado do site, mas ainda não sei qual das duas linguagens vai atender-me muito bem. Vou usar servidor próprio, e tenho vários componentes instalados, como dundas para envio de arquivos, componentes para criptografia de senhas, etc, tudo para o asp.
Já disseram-me para fazer o site em php, mas conheço muito pouco do mesmo - não consigo fazer 10% do que eu faço em asp com o php e não tenho muito tempo para aprender o mesmo - até gostaria.
O que sugere? Acha que o asp vai me atender?
Para que saiba o que eu quero dizer com grande porte, pense em algo como a wikipedia - mas e claro que não tanto, he he he...

Obrigado, meu amigo

[Responder este comentário]

Guilherme Serrano
[www]

14/6/2009 18:32:00

Rodolfo, eu acredito que as possibilidades do ASP e PHP são muito parecidas, praticamente tudo o que é possível desenvolver com ASP você conseguirá com o PHP, portanto acredito que as duas linguagens irão te atender. As vantagens que vejo no PHP é a diversidade de ferramentas prontas que você irá encontrar de forma gratuita, além de que poderá utilizar um servidor Linux.


Chris Benseler
[www]

14/6/2009 19:19:00

Rodolfo, deixa eu me intrometer - no bom sentido - na conversa. A princípio, sou favorável que se use PHP a ASP. Porque? Existem vários ótimos motivos, dentre eles os custos de hospedagem - servidores para PHP só tem o custo do hardware, pois o Apache e o PHP são gratuítos -, o fato de PHP ser uma linguagem em desenvolvimento ainda e o ASP ter sido deixado pra trás com o .Net, ou ainda PHP ter uma comunidade muito maior de desenvolvedores. Mas, no seu caso, acho que não vale a pena tu partir para o PHP se já tem quase tudo feito em ASP - provavelmente não valeria a pena reescrever tudo o que você já tem. Acho que valeria a pena, no seu caso, se você tem vontade de aprender PHP para futuros projetos. []s!


Alan Lemos
18/6/2009 17:30:00

Cara, estou quase enlouquecendo com esse PHP. Segui todo o passo-a-passo ensinado por você, mas quando testo o arquivo no navegador recebo o "404". Já chequei o caminho da pasta Inetpubwwwroot dentro do PHP.ini, ou seja, tudo certinho, mesmo assim recebo um "404" na lata véio.....Ah poxa! assim não dá não ...uai. Pode me ajudar? Obrigado desde já.

[Responder este comentário]

Guilherme Serrano

18/6/2009 18:56:00

Você tem certeza que a extensão ".php" foi cadastrada no IIS? Pelo que eu lembre o erro 404 acontecia antes de cadastrar a extensão no IIS...


Roberto Oliveira
25/7/2009 23:11:00

Olá Guilherme, aproveitei bastante seu tutorial, porem me ficaram algumas duvidas, se vc puder me ajudar, eu agradeceria muito, pois estou sofrendo pra tentar montar um site, rss...

não encontrei onde configurar o "Web Service Extension" e o "Add a New Web service extension"

porem, quando testo o php, ele fica lento carregando, e por fim aparece a seguinte mensagem:

CGI Timeout
The specified CGI application exceeded the allowed time for processing. The server has deleted the process

vc sabe o que estaria acontecendo neste caso ?

[Responder este comentário]

Roberto Oliveira

25/7/2009 23:15:00

Ha esqueci de comentar que minha internet é discada, será que tem alguma coisa a ver ? valeu...


EDIVAL DE PAULA RONQUI

16/10/2009 12:10:00

Eu estou com o mesmo problema.
Tenho instalado o Windows XP e atualizei o IIS 5.1 que é padrão para o IIS 6.0, mas nao existe esta opção "Web Service Extension" e o "Add a New Web service extension".


Guilherme Serrano

16/10/2009 13:37:00

Opa, de cabeça eu não sei o que pode ser isso... E nas propriedades do item "Web Sites" não tem a opção de adicionar extensões? Talvez ela esteja por lá ;)


Felipe

19/10/2009 23:20:00

Estou com o mesmo problema, n tem esta opção em lugar nenhum.


Fabiano
19/8/2009 12:29:00

Parabéns Guilherme pelo artigo. Deu tudo certo.

[Responder este comentário]

Guilherme Serrano

19/8/2009 12:36:00

Valeu Fabiano! :D


Alexandre
28/9/2009 09:35:00

Fale Guilherme, show de bola o tutorial. estou tentando instalar o PHP 3.0 no IIS mas ele nao vem com o arquivo php5isapi.dll . sabe como devo fazer?

[Responder este comentário]

Guilherme Serrano

20/10/2009 09:34:00

Bah Alexandre, não sei... mas você precisa desta versão do PHP mesmo? Porque não instala a 5.3, que é a versão mais recente? Para fazer o download: http://php.net/downloads.php


João Paulo
21/10/2009 16:10:00

Em nenhum dos pacotes do 5.3.0 está vindo o php5isapi.dll...... cadê esse madito??????

[Responder este comentário]

Guilherme Serrano

21/10/2009 16:14:00

Vish, é o mesmo problema que o Alexandre relatou na versão 3.0 do PHP. Ainda não teste ai 5.3 você verificou se está baixando os "Windows Binaries" mesmo?


Warley Lima
9/12/2009 02:13:00

Ola, Guilherme estou com problemas no meu recem instalado OS 2003 +IIS 6 + PHP 5, o problema e que fazendo esse passo a passo como ja havia feito de outras vezes o php se recusa a funcionar abrindo uma screen de login e ja chequei tudo possivel e esta nos conformes, ja havia instalado 2x o IIS com PHP e so agora ele me apresenta esse problema! Espero que alguem tenha ideia do que seja erro 403.1 ( sobre Acl )

[Responder este comentário]

Guilherme Serrano

9/12/2009 09:33:00

Oi Warley! O erro 403 é um erro de permissão, você pode tentar o seguinte: no IIS vai nas propriedades do site, na aba "Home Directory" veja se o campo "Execution Permissions" está como "Scripts and Executables" (isso irá reduzir seu nível de segurança, mas vai dar permissão para o seu site rodar scripts e executáveis. Veja também se a extensão .php está cadastrada corretamente nas "Application Extensions"... Espero ter ajudado!


Deixe seu comentário!

Nome (requerido)

E-mail (requerido - não será divulgado)

URL

Quanto é 5 + 3?

Comentário


Topo