Blog Post

Configurando o ambiente para trabalhar com PHP no Windows

Sign in to queue

Description

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
  • Windows Azure SDK
  • SQL Server Express
  • Windows Azure PHP SDK

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:

  • PHP manager;
  • Driver do Sql Server para      PHP.

 Generic Episode Image

 Generic Episode Image

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:

  • Classes PHP para Windows Azure Blobs, Tables & Queues (para operações CRUD);
  • Classes Helper para transporte HTTP, AuthN/AuthZ, REST & Gerenciamento de erro;
  • Gerenciamento, Instrumentação e suporte a log;
  • Suporte para sessões PHP utilizando Table Storage;
  • API de gerenciamento;
  • Cliente de diagnóstico;
  • Conjunto de linha de comando para:
    • Empacotamento;
    • Gerenciamento;
    • Diagnóstico;
    • Deployment

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.

Generic Episode Image

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).

 Generic Episode Image

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.

Generic Episode Image

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.

 Generic Episode Image

 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. 

 Generic Episode Image

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.

 Generic Episode Image

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.

  1. Instalar o Microsoft .NET Framework Version 1.1 Redistributable Package;
  1. Após instalação, abra o console do Windows com os direitos elevados (clique com o botão direito do mouse no ícone e selecione a opção "Executar como Administrador";
  1. Digite o seguinte comando { copy c:\Windows\Microsoft.NET\Framework\v1.1.4322\msvcr71.dll ;      "C:\Program Files (x86)\PHP\" }. OBS: o diretório de instalação do php pode ser diferente para cada instalação.
  1. Em seguida digite "php -v" na linha de comando.

Generic Episode Image 

Agora você já possui um ambiente de desenvolvimento configurado para trabalhar com PHP Smiley

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"

 Generic Episode Image 

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:

  • PhpOnAzure.Web - Este diretório será a raiz da sua aplicação (WebRoot), Todos os arquivos da aplicação vão estar neste diretório;
  • bin - Contém os scripts de iniciação que vão instalar o PHP e realizar outras funções que você desejar, durante o deploy;
  • php - Contém configurações customizadas do PHP.ini, assim como extensões customizadas que sua aplicação pode vir a requerer;
  • resources - Contém vários arquivos que dão suporte ao deploy de seu aplicativo.
  • diagnostics.wadcfg - Um arquivo básico de diagnóstico. Você pode utilizá-lo para traquear itens como uso de CPU e largura de banda.
  • ServiceConfiguration.cscfg - Contém as definições de configuração do Windows Azure para o seu  deployment, este arquivo será copiado junto com o arquivo final;
  • ServiceDefinition.csdef - Contem informação sobre a configuração do seu deployment, este arquivo  é  incluído no pacote final que será  carregado para o Windows Azure.

 

No próximo artigo, veja como realizar deploy de uma aplicação PHP para o Windows Azure.

Obrigado,

Vinícius.

The Discussion

Add Your 2 Cents