Tutorial de Configuração do Zend Debugger para PHP
- Alterar configurações do PHP no Eclipse
- Instalar extensões no PHP
- Instalar o Zend Debugger para PHP
Baixando o Zend Debugger
O Zend Debugger é uma extensão para PHP que permite programas externos obterem informações de depuração do executável do PHP. Ele não funciona sozinho, é na verdade a parteservidor de um mecanismo cliente-servidor.
O funcionamento é bem simples: depois de instalada a extensão, uma porta no servidor fica disponível para comunicação do debug, e um outro aplicativo (no nosso caso, o Eclipse) se comunica com essa porta que por sua vez leva até a extensão que depura o PHP. A primeira coisa a fazer é baixar a extensão que fica no servidor:
Primeiro, vá em http://downloads.zend.com/pdt/server-debugger/, conforme a imagem abaixo, e faça o download do arquivo correspondente a sua arquitetura.
Como estamos usando Ubuntu, restam apenas duas opções: A versão linux i386 (para instalações 32bit) e a versão linux x86_64 (para instalações 64bit). Se quiser saber qual usar (32 ou 64 bits) pode digitar uname -a no terminal do seu Ubuntu, e verificar a versão completa do seu sistema.
Instalando a Extensão do Zend Debugger
Extraia o arquivo que você baixar (geralmente, basta clicar com o botão direito no ícone do arquivo e escolher "Extrair Aqui"). Haverão várias pastas, cada uma para uma versão específica do PHP. Escolha a pasta da versão 5.2 que estamos usando nesse tutorial e copie o arquivo ZendDebugger.so contido nela.
Aperte Alt+F2 para abrir a janela de comandos do Ubuntu. Digite gksudo nautilus /usr/lib/php5 para abrir a pasta de extensões do PHP. Como já vimos anteriormente, o comando gksudo serve para executar comandos como Administrador, e o comando nautilus abre o explorador de arquivos do Ubuntu. O restante é apenas o caminho da pasta no sistema de arquivos.
Dentro da pasta haverá uma pasta com nome estranho, um número. Cole aquele arquivo extraído do Zend Debugger que copiamos anteriormente nessa pasta, conforme a imagem:
Configurando o Zend Debugger
Agora abriremos a pasta de configurações do PHP, /etc/php5/conf.d:
Criaremos um novo arquivo de configuração .ini dentro dessa pasta, chamado zend_debugger.ini, com o seguinte conteúdo:
[Zend] zend_extension=/usr/lib/php5/20060613+lfs/ZendDebugger.so zend_debugger.allow_hosts=127.0.01,localhost zend_debugger=expose_remotely=always
Depois disso precisaremos parar (sudo /etc/init.d/apache2 stop no terminal) e iniciar (sudo /etc/init.d/apache2 start no terminal) novamente o apache para que o mesmo carregue a extensão e o arquivo de configuração novos:
Se tudo funcionar, o Zend Debugger deverá aparecer no phpinfo do servidor...
... e isso significa que terminamos de configurar a parte do PHP. Agora precisamos dizer pro Eclipse usar o depurador.
Configurando o Zend Debugger no Eclipse
No eclipse, no menu Window > Preferences, vá nas configurações de Debug do PHP, conforme indica a imagem:
Clique no link "PHP Servers" e tenha certeza de ter o nosso servidor localhost listado:
Volte e clique no link "PHP Executables", para configurarmos os executáveis que o Debug usará:
Adicione um novo executável, cujo caminho (Executable Path) é /usr/bin/php5, PHP ini é /etc/php5/apache2/php.ini e Debugger é o Zend Debugger
As configurações, no final, devem ficar semelhantes a essas:
Ainda precisaremos configurar um navegador para o Eclipse trabalhar:
No nosso exemplo, adicionaremos o Firefox, geralmente instalado em qualquer Ubuntu na localidade (Location) /usr/bin/firefox.
Marque o recém-adicionado navegador como padrão:
Testando
Para começarmos os testes, vamos criar um novo Projeto PHP no menu "File" do Eclipse:
Chegou a hora de testarmos nosso debug. Usaremos um código simples, com algumas declarações de variáveis e condições, para demonstrar alguns recursos do debugger:
Não incluí o código-fonte em formato de texto propositalmente. Espero que você, leitor, digite o código que lhe deixar mais confortável. O código nesse exemplo foi salvo como index.php no projeto Teste que criamos.
Após escrevermos um código válido, usaremos o menu "Debug As" do depurador e escolheremos a opção "PHP Web Page":
O debugger deverá executar nosso arquivo de teste e parar na primeira linha, segurando a execução. Para avançar uma linha, basta usar o F5.
Uma lista das variáveis e seus respectivos valores é exibida em um painel nessa perspectiva. Também podemos ver a pilha de execução do programa:
Conforme dados são exibidos, eles também aparecem no painel de saída do eclipse:
E pronto! Tudo certinho, configurado.