Conforme prometido no artigo anterior, vamos ver como configurar um sistema de debug de aplicações PHP. Para isso, vamos usar o Xdebug e aproveitar o suporte que o próprio Netbeans dá a essa ferramenta. Vamos lá:
Instalando o Xdebug no PHP
- Primeiro, faça download do arquivo .dll do Xdebug, de acordo com sua versão do PHP.
- Coloque a DLL dentro do diretório /ext, que deve ficar dentro do diretório de instalação do PHP. Caso você use o EasyPHP, o diretório é C:\Program Files\EasyPHP[VERSÃO]\php\ext.
- Abra seu php.ini para edição. Agora insira as seguintes linhas no final do arquivo:
[XDebug] zend_extension="C:\Program Files\EasyPHP[VERSÃO]\php\ext\php_xdebug-VERSÃO_DO_XDEBUG.dll" xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote_handler=dbgp xdebug.profiler_enable=1 xdebug.profiler_output_dir="c:\WEB\xdebug"
Note que você precisa editar as linhas de acordo com a sua configuração.
- Reinicie o Apache.
- Agora rode um phpinfo(). No caso do EasyPHP, abra em seu navegador o endereço http://localhost/home/phpinfo.php.
- Se tudo estiver certo, o phpinfo deve exibir uma categoria com as configurações do Xdebug.
Dica: Caso você não tenha sucesso na primeira tentativa, tente outra DLL.
Outra dica: Antes de instalar, você pode rodar um phpinfo() e verificar com qual compilador seu PHP foi construido. O EasyPHP com PHP 5.3 usa o MSVC6, logo o Xdebug deve ser 5.3 VC6.
Configurando o Netbeans para usar o Xdebug
No Netbeans, vá em Ferramentas > Opções > PHP > Geral. Agora, em Linha de comando, digite o caminho do interpretador PHP. Se você usa o EasyPHP, o caminho deve ser C:\Program Files\EasyPHP5.3.0\php\php.exe.
Certifique-se também que em Depuração > Porta do depurador está configurado a mesma porta setada no php.ini. No nosso caso, a porta 9000.
Reinicie o servidor Apache e pronto, XDebug e Netbeans pronto para uso. Em breve farei alguns artigos demonstrando qual a utilidade do debugging, como fazer, e algumas técnicas interessantes para testes.
E não deixe de ler o artigo Debugging PHP Source Code in the NetBeans IDE (em inglês), que explica como funciona o debug built-in do Netbeans.