Debug de aplicativos PHP com eclipse | Blog do Robson Dantas
Praticamente todas as linguagens de programação que estão por aí no mercado oferecem opção de debug. Comecei a programar PHP há pelo menos 6 anos e acabei de acostumando a debugar programas escrevendo "prints" na tela e lendo arquivos de log… coisas de fanático por ambientes unix mesmo
Hoje muito evoluído, o PHP tem diversas opções de debug e inclusive plugin integrado ao Eclipse. Como uso A IDE para escrever código em diversas linguagens (C++, Java, Python, etc..), resolvi procurar algo que tivesse uma característica parecida com o debug das outras linguagens.
Achei o PHPEclipse, um plugin que dá highlight na sintaxe do PHP, além de oferecer suporte ao debug diretamente da IDE.
Para instalar o plugin e sair usando, basta abrir o Eclipse, menu Help->Software Updates. Depois disse clique em add site e coloque o endereço http://update.phpeclipse.net/update/stable/1.2.x . Depois disso só selecionar o phpdebug e mandar instalar.
Instalado, é necessário instalar a extensão que faz o debug. Eu conheço por uso próprio o DBG e o PHPDebugger. Nesse caso vou citar como fazer o processo usando o DBG.
Baixe o DGB. Só é necessário o pacote de modules. Descompacte em um local qualquer e no diretório x86 pegue a dll correspondente a sua versão do php, jogue no diretório ext do php e renomeie de ".x" para ".dll" .
Feito isso, vamos editar o php.ini, incluindo:
Procure por "extension=" no código e inclua a linha abaixo de qualquer um:
e depois coloque no final do arquivo ..
Reinicie o apache e crie um programa "teste.php" com phpinfo() dentro. Se estiver tudo correto, aparecerá as informações que o debug está ativo.
Agora é só parametrizar o eclipse para fazer o debug, clicando em debug->configuration. Procure o item PHP DBG e adicione uma configuração abaixo dele.
Os campos Project e File deverão ser preenchidos automaticamente, sendo necessário você clicar em Environment.
Ative "Remote Debug", e em"Remote Source Path", coloque o caminho relativo da sua aplicação. Ex: c:\www\app. Faça o mesmo em Mapped Path, e pronto.
Aplique, coloque uns breakpoints num php qualquer e faça o teste. O breakpoint vai parar em cima da linha se tudo funcionou.