Hospedando uma aplicação PHP no Azure WebSites

Antes de criar pacotes para deploy e utilizar o emulador de nuvem, você tem que instalar o Windows Azure SDK (Software Development Kit), o web site do Windws Azure http://www.windwsazure.com está dividido em tecnologias como .Net, PHP, Java e Node.JS.
A página que estou interessado aqui é a de PHP https://www.windowsazure.com/pt-br/develop/php/, nela você vai encontrar o link para download do SDK para PHP, artigos, exemplos e muito mais.
Nesse artigo, farei a instalação automáticas dos componentes necessários para configurar o ambiente de desenvolvimento utilizando o Microsoft Web Platform Installer ou simplesmente o WebPI.
Vamos instalar os seguintes componentes:
PHP 5.3.1
Para instalar o PHP, utilizando o WebPI clique no link https://www.microsoft.com/web/gallery/install.aspx?appid=PHP53 e permita a execução do WebPI. Se você não possuir o WebPI instalado, você será redirecionado para instalar o WebPI, depois você será apresentado ao wizard de instalação abaixo.
A primeira tela apresenta informações sobre o software que será instalado e quem é o responsável por publicar esse conteúdo e em seguida é apresentado os pré-requisitos.
Ao instalar o PHP será instalado:
Windows Azure SDK
Da mesma forma que o PHP vamos utilizar o WebPI para instalar o Windows Azure SDK, faremos isso clicando sobe o link https://www.microsoft.com/web/gallery/install.aspx?appid=WindowsAzureSDK.
O Windows Azure SDK contém todas os componentes necessários para testar e criar e empacotar aplicações para o emulador local, assim como para o Windows Azure.
Com o emulador conseguimos simular nós de computação e os serviços de storage, porém existem algumas funcionalidade que não são suportadas pelo emulador (diferenças do emulador de storage e o serviço real - https://msdn.microsoft.com/en-us/library/windowsazure/gg433135.aspx)
SQL Server Express
O SQL Server é opcional, mas para utilizar os emuladores do serviço de storage o SQL server deve ser instalado. O SQL Server Express é fornecido gratuitamente e funciona muito bem com o emulador, se você não possuir uma instalação completa do SQL Server, recomendo a instalação.
Para instalar clique no link https://www.microsoft.com/web/gallery/install.aspx?appid=sqlexpress e complete o Wizard de instalação.
Windows Azure SDK for PHP
O SDK para PHP pode ser obtido através da URL http://phpazure.codeplex.com/, o SDK é um projeto open source mantido pelo time de interoperabilidade da Microsoft e possui as seguintes características:
Após realizar o download do SDK para PHP, precisamos configurá-lo. O Windows Azure SDK para PHP não possui um instalador, ele é um pacote de arquivos que você pode imediatamente começar a utilizar.
Descompacte o arquivo PHPAzure-4.1.0 para a pasta C:\Program Files\Windows Azure SDK for PHP, em seguida adicione o diretório C:\Program Files\Windows Azure SDK for PHP\bin na variável de sistema PATH.
Em seguida abra o console do Windows e digite "package", você deve visualizar o seguinte resultado.
Iniciando o ambiente de desenvolvimento
O emulador de computação
Após a instalação do SDK no menu iniciar, você deve possuir um novo item chamado "Windows Azure Emulators" seguido pelo número de versão. Abra a pasta e inicie o "Compute Emulator" se alguma janela de segurança aparecer, clique em permitir (Allow).
Depois de iniciado o emulador de computação, você vai possuir dois novos ícones no seu System Tray, a partir desse ícone você abrir a interface do emulador de compute e iniciar/parar os emuladores.
Storage Emulator
Voltando para o menu iniciar, podemos também iniciar o emulador de storage, o mesmo procedimento
pode ser realizado pelo ícone do Windows Azure incluído no seu System Tray e exibido anteriormente.
Se o emulador for iniciado com sucesso, você vai ver a seguinte janela.
Verificando se o PHP foi instalado com sucesso.
Execute o console do Windows, no menu iniciar digite cmd e tecle <enter>, em seguida digite "php" na linha de comando, conforme imagem abaixo.
Se ao digitar a tecla <enter> você receber uma mensagem de erro do tipo "MSVCR71.dll", como a apresentada na figura abaixo, execute os passos a seguir, caso contrário o seu ambiente de desenvolvimento está pronto para uso.
Troubleshooting para o erro MSVCR71.dll
Em alguns caso ao executar o PHP ocorre o seguinte erro "falta da dll MSVCR71.dll", para corrigir você deve.
Agora você já possui um ambiente de desenvolvimento configurado para trabalhar com PHP
Testando tudo junto
Construir uma aplicação PHP no Windows Azure pode ser um processo complexo que envolve configurar os arquivos ServiceConfiguration.cscfg e ServiceDefinition.csdef, e fazer scripts para que seja instalado o PHP e fazer quaisquer customização do PHP que seja necessário. Por sorte o PHP Windows Azure SDK possui um uma ferramenta de scaffolding que cria a estrutura básica de um projeto PHP para Windows Azure para você.
Assim você pode copiar seus arquivos para o projeto criado e realizar o deploy imediatamente, você tem o controle de todo o processo de deploy.
Execute o comando para visualizarmos a estrutura criada.
scaffolder run -out="C:\temp\WindowsAzurePHPApp"
O comando vai criar a seguinte estrutura de diretórios e arquivos:
PhpOnAzure.Web
|bin
|php
|resources
|diagnostics.wadcfg
|Web.config
ServiceConfiguration.cscfg
ServiceDefinition.csdef
Segue abaixo a descrição de cada diretório:
No próximo artigo, veja como realizar deploy de uma aplicação PHP para o Windows Azure.
Obrigado,
Vinícius.