Como montar um ambiente para debugar PHP, no windows

A linguagem PHP é uma opção muito versátil para o desenvolvimento de sites e até sistemas web completos, dado o alto nível de integração com código HTML, suporte a orientação a objetos e o fato de não requerer build nem compilação. Entretanto, dependendo da complexidade pretendida, um bom debugger e um ambiente de desenvolvimento podem ser essenciais.

Neste artigo vou explicar como faço para montar no windows um ambiente completo de desenvolvimento PHP com suporte a debug, usando a última versão que houver disponível do Eclipse, pois o pacote PDT All-In-One geralmente está defasado uma ou duas versões do ultimo build estável do Eclipse básico.

 

1. Instalar o Zend Server

O Zend Server é um servidor web baseado no Apache, que possui tanto suporte à linguagem PHP e features de debug, de fácil instalação e não requer passos complexos de configuração.

  1. Faça download do Zend Server: http://www.zend.com/en/products/server/downloads (ZendServer-6.3.0-php-5.3.28-Windows_x86.exe - Clique para baixar o Zend Server 32 bits com PHP 5.3 para Windows).
  2. Inicie a instalação
  3. Caso queira aproveitar para instalar o MySQL, na tela Setup Type escolha "Custom" e marque a caixa "MySQL Server (separated download)"
  4. Na tela WebServer, mantenha selecionada a opção "Install an Apache xxxx Web Server". Caso pretenda se arriscar com o IIS, boa sorte pra você.
  5. Na tela Apache Port Number, eu costumo trocar a porta para 81, por questões de segurança. Se quiser manter a 80, não tem problema. A segunda porta é o endereço de administração do seu servidor (http://localhost:10081/) 
  6. Então, clique no botão Install. Caso você tenha optado pela instalação do MySQL Server, ele será baixado neste momento. A instalação leva alguns minutos.
  7. Antes de concluir a instalação, o windows vai exibir uma tela questionando sobre as premissões de acesso do Apache HTTP Server (httpd.exe). Mantenha selecionada a opção de Redes Privadas e clique em Permitir acesso.
  8. Mantenha a opção "Start working with Zend Server marcada e finalize a instalação clicando em Finish.

 

2. Configuração do Zend Server

Após o Zend Server estar instalado, acesse o endereço http://localhost:10081/ 

  1. License Agreement: Leia os termos da licença, marque a caixa de aceite, e clique em Next.
  2. Launch Type: Selecione Development e clique em Next.
  3. User passwords: Defina a senha do administrador, deixando a de developer em branco, e clique em Next.
  4. Library packages: Simplesmente aguarde as barras atingirem 100% e clique em Next.
  5. Summary: Esta tela exibe um resumo das configurações. Clique em Launch.

Se tudo correu bem, você deve ver a tela de boas-vindas do Zend:

 

3. Testar o Zend Server

Acesse o endereço http://localhost:81 ou http://localhost:80 (dependendo da porta que você escolheu para o apache no passo 1.5). Você deve ver isso:

Acesse a pasta C:\Program Files (x86)\Zend\Apache2\htdocs. É aí que ficam os arquivos acessados pelo webserver. Apague todos os arquivos nesta pasta e deixe somente um arquivo index.html em branco.

 

4. Instalação do Eclipse

Acesse a página de downloads do eclipse (http://www.eclipse.org/downloads/) e baixe a última versão do Eclipse Standard.

Descompacte o arquivo no local de sua preferência e pronto, está instalado o Eclipse. Execute o arquivo eclipse.exe.

Na primeira execução, será questionado qual é o seu workspace, ou seja, a pasta onde ficam seus projetos. Selecione a pasta C:\Program Files (x86)\Zend\Apache2\htdocs (recomendo que passe a utilizá-la como local de seus projetos PHP). Com isso, você poderá ver no browser as alterações em seus arquivos à medida que os editar e salvar no Eclipse. Marque como default para não ser quistionado novamente. Caso queira alterar o local do workspace futuramente, basta ir em File -> Switch workspace.

Feche a aba "Welcome" do eclipse e você verá a tela default, em branco, do ambiente de desenvolvimento. 

 

5. Instalação do PHP Development Tools no Eclipse

Para instalar o pacote PDT (PHP Development Tools), selecione no menu Help -> Install New Software.

Preencha o campo Work with com o seguinte endereço: http://download.eclipse.org/tools/pdt/updates/release e pressione [Enter].

Expanda o grupo PHP Development Tools, selecione a opção PHP Development Tools (PDT) e clique em Next.

  

Se tudo estiver ok para a instalação, será apresentada uma tela Install Details, para que sejam revisados os itens que serão instalados. Clique em Next, aceite os termos da licença e então clique em Finish. O Eclipse irá baixar e instalar os pacotes automaticamente. Ao final, será solicitado que reinicie o Eclipse para que as mudanças tenham efeito.

 

6. Configuração do Eclipse

1. PHP Perspective

Habilite a perspectiva de trabalho PHP, conforme indicado na figura:

2. Endereço do Web Server

Configure o caminho do seu servidor web (caso tenha escolhido a porta 81 para o Zend, conforme mencionado no passo 1.5):

Selecione o item de menu Window -> Preferences. Navegue até a opção PHP -> PHP Servers. Selecione o item "Default PHP Web Server", e edite-o. Altere o "Base URL para http://localhost:81.

3. Selecionar o Web Browser

Na janela de Preferências (Window -> Preferences), navegue até a opção General -> Web Browser, marque a opção Use external web browser e selecione o de sua preferência.

4. Evitar que o debug pare na primeira linha de todo arquivo lido

Por default, o debugger sempre pára na primeira linha de cada arquivo que é lido, o que não é um comportamento que eu acho útil, pelo menos pra mim. Por isso eu sempre desativo, da seguinte forma: Na janela de Preferências (Window -> Preferences), navegue até a opção PHP -> Debug e desmarque a opção Break at first line

 

7. Criando e debugando um projeto

Na aba PHP Explorer, clique com o botão direito e selecione a opção New -> Project.

Selecione a opção PHP Project e clique em Next.

Preencha apenas o nome do projeto com test e clique em Finish.

Clique com o botão direito no projeto, selecione a opção New -> PHP File, e crie um arquivo com o nome index.php. Coloque no index.php o seguinte código:

<?php
$a = 1;
$b = 2;
$c = $a + $b;
echo "Result = ". $c;

Após salvar o arquivo, no PHP Explorer, coloque um breakpoint na linha $b = 2; (dê um duplo-clique na região indicada pela seta).

Para debugar, com o arquivo index.php aberto, expanda a opção do debugger na barra de ferramentas (conforme indicado na figura), e selecione Debug As -> PHP Web Application.

Isso também pode ser feito com um clique com o botão direito sobre o código-fonte, ou sobre o próprio arquivo no PHP Explorer. Com isso, o navegador web selecionado no passo 6.3 deverá ser aberto. Volte ao Eclipse.

Será perguntado se você aceita abrir a perspectiva de debug. Eu costumo aceitar e lembrar da decisão, pois a perspectiva de debug possui uma série de janelas úteis para debugar (visualização de variáveis, breakpoints, etc).

Se nada deu errado até aqui, você já possui um ambiente pronto para debugar código PHP, com a última versão disponível do Eclipse, e utilizando o navegador de sua prefeência. Divirta-se!