Sistemas Operacionais -> Ubuntu -> 11.04 -> Instalando e configurando o Xdebug no Ubuntu - Parte 1

Instalando e configurando o Xdebug

Nosso primeiro passo é instalar as ferramentas adequadas.

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

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.

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.

Instalando o Xdebug manualmente:

Caso a instalação automática falhe, é possível fazer manualmente. Para isso, basta seguir os seguintes passos:
  • baixar os fontes em tgz (source) do xdebug: http://xdebug.org/
  • explodir o arquivo baixado: tar zxvf xdebug-versao.tgz
  • entrar no diretório criado e executar o comando phpize
  • executar ./configure
  • executar make
  • executar make install (como root)

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.

No próximo passo vamos configurar o PDT.