Habilitar debug no PHP com NetBeans, XAMPP e XDebug

Um cliente me contratou para migrar um site em Joomla 1.5 para a versão 3.2 e a conversão do template se apresentou mais complicada do que eu imaginei inicialmente.

Para facilitar a tarefa de identificar os erros, resolvi utilizar o debug do NetBeans, e descrevo aqui o que precisei configurar.

Criei o projeto PHP no NetBeans, configurei a opção de debug (Run as) para "Local Web Site" e informei o local do projeto.

Marquei um breakpoint no código e pressionei o botão de debug do NetBeans, que abriu o navegador padrão e iniciou o debug, porém não parou no breakpoint.

Como tenho algum conhecimento prévio de debug via XDebug, imaginei que o mesmo não estivesse instalado no XAMPP, ou não estivesse ativo.

A versão do XAMPP que utilizo já inclui o XDebug, o que facilitou muito.

No meu caso, que utilizo Windows, a DLL do XDebug se encontra em "C:\xampp\php\ext\php_xdebug.dll".

Tudo que eu precisei fazer para habilitar foi abrir o php.ini, localizado em "C:\xampp\php\php.ini" e alterar as seguintes linhas, na seção [XDebug]:

Antes:

;zend_extension = "C:\xampp\php\ext\php_xdebug.dll":
;xdebug.remote_enable=0

Depois:
zend_extension = "C:\xampp\php\ext\php_xdebug.dll":
xdebug.remote_enable=1

 

Parei e reiniciei o Apache no painel do XAMPP e rodei o debug no NetBeans normalmente, com breakpoints.

Isso me poupou incontáveis horas em comparação a utilizar echo para exibir o valor dos objetos e variáveis.

 

Mais informações sobre debug com NetBeans e XAMPP:

Configurando o Ambiente de Desenvolvimento de PHP no Windows