Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RSS iMasters

[Resolvido] Como rodar aplicações PHP no Windows Azure utilizando

Recommended Posts

Olá, pessoal!

Ouvi de muitas pessoas um mito que o Windows Azure somente consegue rodar aplicações desenvolvidas em .NET Framework e que não seria compatível com outras tecnologias. Como disse, isso é um mito, no Windows Azure a sua aplicação roda em um sistema operacional compatível com o Windows Server 2008 ou Windows Server 2008 R2, ou seja, praticamente tudo que é possível instalar e rodar nesses sistemas operacionais é possível fazer rodar no Windows Azure.

Tanto que a página sobre desenvolvimento do portal do Windows Azure, traz uma série de links e documentações sobre o assunto:

44481.png

 

Existem várias maneiras de configurar um ambiente PHP no Windows Azure. Nos passos abaixo vou utilizar o Visual Studio 2010 para isso. Apenas notem que não utilizarei o Visual Studio 2010 para desenvolver nem depurar PHP, vou utilizá-lo apenas para deploy de uma aplicação web no Windows Azure.

O primeiro passo é criar um projeto de de Windows Azure e adicionar uma Web Role:

44489.png

 

Depois remova os arquivos criados por padrão pelo Visual Studio até que seu projeto fique com uma estrutura similar à estrutura abaixo:

44485.png

 

Em seguida adicione os arquivos da aplicação PHP no projeto da Web Role, no meu caso adicionei o arquivo index.php, que somente traz informações do ambiente PHP através da chamada phpinfo().

44486.png44487.pngO próximo passo é instalar o PHP no Windows Azure. Lembre-se, estamos utilizando uma Web Role no nosso projeto que, na prática, instala nossa aplicação para rodar no IIS; o que precisamos fazer é configurar o PHP para rodar em conjunto com o IIS. Além dessa configuração básica de execução do PHP também pode ser interessante instalar drivers de comunicação com o SQL Azure e um acelerador, como o caso do WinCache.

Para realizar essas configurações, vou utilizar uma startup task  responsável por disparar as instalações utilizando o WebPICmd, que é a versão linha de comando do Web Plataform Installer, facilitando bastante a automação da instalação de ambientes web.

O primeiro passo da startup task é adicioná-la no projeto da web application, no meu caso, criei uma pasta chamada startup e adicionei a WebPICmd descompactada e um arquivo batch, o setup.cmd. Neste ponto é importante definir a propriedade ?Copy to Output Directory? de todos os arquivos com o valor ?Copy always?. No print abaixo é possível ver a estrutura de pastas e arquivos:

 44482.png

O conteúdo do arquivo setup.cmd contém as chamadas para o WebPICmd realizar as instalações necessárias dos componentes do PHP no IIS

cd "%~dp0"

md appdata

reg add "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v "Local AppData" /t REG_EXPAND_SZ /d "%~dp0appdata" /f

WebPICmdLine.exe /accepteula /Products:PHP53

WebPICmdLine.exe /accepteula /Products:SQLDriverPHP53IIS

WebPICmdLine.exe /accepteula /Products:WinCache53

reg add "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v "Local AppData" /t REG_EXPAND_SZ /d %%USERPROFILE%%\AppData\Local /f

net start w3svc

iisreset /start

exit /b 0

Já a sua indicação como startup task fica no arquivo ServiceDefinition.csdef, conforme trecho abaixo (notem que o arquivo e nem todas as tags estão completas por economia de espaço):

<ServiceDefinition name="WindowsAzurePHP" ?>

<WebRole name="PHPApp" vmsize="Small">

<Startup>

<Task commandLine="startup\setup.cmd >> %Public%\Documents\setup.log"

executionContext="elevated"

taskType="simple" />

</Startup>?

Na definição da startup task digo que ela deverá executar de maneira elevada, ou seja, com permissões de administrador para poder realizar as instalações no ambiente e que também todos o texto que normalmente seria exibido na tela será redirecionado para o arquivo setup.log, podendo ser utilizado posteriormente em um diagnóstico em caso de problema.

Depois disso é só fazer o deploy e testar a aplicação

44484.png

 

O código fonte deste projeto pode ser encontrado aqui.

Que tal testar o Windows Azure gratuitamente por 90 dias? Saiba mais aqui!

 

 

http://imasters.com.br/artigo/23518/windows/como-rodar-aplicacoes-php-no-windows-azure-utilizando-o-visual-studio-2010

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.