| Debugando PHP com Eclipse (PDT) e Xdebug |
|
|
|
|
Um dos grandes problemas que os programadores PHP têm é a falta de um debugger profissional como os desenvolvedor Java, VB e outras linguagens têm. Isso se deve a falta de uma IDE totalmente integrada.
Depois que a Zend se juntou a fundação Eclipse as coisas melhoraram. Hoje temos um ambiente de desenvolvimento bem integrado para PHP, este é o PDT (PHP Development Tool). A ferramenta já chegou na sua versão 1.0 e está bem estável.
Voltando ao debug, se juntarmos a força do Eclipse + o Xdebug, podemos ter um debugger profissional que não deve nada para os debuggers de outras linguagens. Neste tutorial, vamos aprender a instalar e configurar o ambiente.
Neste tutorial estamos usando os seguintes softwares:
Lembrando que podemos usar outras versões de software apresentados aqui.
Agora mãos na massa.
Nosso primeiro passo é instalar as ferramentas adequadas.
1.1 Instalando o php-pear e php5-dev
O PHP-PEAR é um conjunto de ferramentas que auxilia a instalação de várias extensões no php, como por exemplo: xdebug, oci8, pdo, etc Para instalar o php-pear basta entrar em um console e executar apt-get install php-pear
O PHP5-DEV é um pacote onde estão todas as bibliotecas usadas pelo php para compilar extensões e recompilar o próprio php. Para instalá-lo basta executar: apt-get install php5-dev
1.2 Instalando o xdebug
Tendo o php-pear instalado, fica fácil instalar o xdebug. Há dois métodos: um automático, onde é usado apenas um comando e outro manual, onde é necessário baixar arquivo e executar uma série de comandos. 1.2.1 Instalando o Xdebug automaticamente
Utilizando um terminal e tendo poderes de administrador executando o comando pecl install xdebug, o restante será efetuado automaticamente, sem problemas.
1.2.2 Instalando o Xdebug manualmente
Caso a instalação automática falhe, é possível fazer manualmente. Para isso, basta seguir os seguintes passos:
1.3 Configurando o xdebug
Instalamos o xdebug, porém ele ainda não está configurado no php. O Apache no Ubuntu tem uma estrutura toda descentralizada, isto é, existem vários arquivos de configuração, o PHP segue a mesma lógica, tendo as configurações das extensões em arquivos diferentes do php.ini
O diretório que o php utiliza para guardar as configurações das extensões é “/etc/php5/conf.d”. Lá podemos criar um arquivo chamado xdebug.ini que conterá as seguintes linhas:
A primeira linha diz que estamos utilizando uma extensão zend e temos que passar o caminho completo da extensão. zend_extension="/usr/lib/php5/20060613+lfs/xdebug.so" xdebug.remote_port = 9100 # porta que o xdebug responderá xdebug.remote_handler="dbgp" # valor padrão xdebug.remote_host="localhost" # endereço do host que o xdebug estará rodando xdebug.remote_enable = On # On habilita o debugger remoto, Off desabilita
Podemos ainda adicionar o profiler, que mapeará todas as funções, objetos que estão sendo utilizadas no script. Para habilitar o profiler adicionamos mais duas linhas: xdebug.profiler_enable = On -> habilitar o profiler com On e desabilita com Off xdebug.profiler_output_name = cachegrind.out -> arquivo onde ficará guardado o mapeamento
Para poder ler um arquivo de mapeamento podemos utilizar as ferramentas WinCacheGind para Windows ou KcacheGrind para Linux.
2 - Configurando Eclipse PDT
O Eclipse PDT já conta com uma Debug específico para PHP, mas para que ele funcione precisamos fazer algumas configurações.
2.1 – Adicionando Executáveis PHP
2.2 – Configurando o DebugÉ importante lembrar que devemos dizer para o debugger do Eclipse em qual porta “escutaremos” o xdebug. Esta porta deve ser a mesma daquela que indicamos no arquivo xdebug.ini. No nosso caso 9100
|