Debugando aplicações em php no Mac OS

Olá pessoal.
Vou mostrar como debugar aplicações em php que estejam rodando em ambiente de teste.

Para isso vou utilizar:
- MAMP(Mac OS Apache Mysql Php) (download)
- XDebug (download)
- MacGDBp (download)

Comece fazendo o download do Php Remote Debugging paraMac OS X.

Descompacte o arquivo.
Dentro da pasta gerada pela descompactação você vai encontrar subpastas que correspondem a versões do PHP.

No meu caso a versão do PHP é a 5.2.

Abra a pasta correspondente a sua versão e de um ls. O único arquivo será o xdebug.so.
Vamos copiar esse arquivo para a pasta de extensões do php.

cp xdebug.so /Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-*

Feito isso precisamos configurar o XDbug no php.ini.
Abra o php.ini com um editor de sua escolha, vou usar o TextMate:
mate /Applications/MAMP/conf/php5/php.ini

Com o arquivo aberto, busque pelo termo [xdebug].
Descomente a primeira linha e a dicione:

zend_extension="/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"
xdebug.remote_enable = On
xdebug.remote_autostart = 1

Deixando dessa maneira:

[xdebug]
zend_extension="/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"
xdebug.remote_enable = On
xdebug.remote_autostart = 1

Feito isso. Precisamos alterar mais algumas linhas também no php.ini mas referentes as configurações do Zend.
Logo a baixo do bloco do [xdbug] encontramos o bloco [Zend]. Pois bem, comente as três linhas desse bloco.
O final do meu arquivo ficou dessa maneira:

[Zend]
;zend_optimizer.optimization_level=15
;zend_extension_manager.optimizer=/Applications/MAMP/bin/php5/zend/lib/Optimizer-3.3.9
;zend_optimizer.version=3.3.9

Agora reiniciei o MAMP. O XDebug deve estar instalado.
É possível verificar isso observando o phpinfo().

Quando comecei a escrever esse tutorial meu objetivo era debugar utilizando o TextMate.
Mas não consegui tal feito, não por enquanto. Em breve quem sabe :) .
Ao invés do TextMate, encontrei um aplicativo de interface simples e intuitiva chamado MacGDBp.
Baixe esse software e instale esse aplicativo.

O programa funciona da seguinte forma.
Depois de iniciado, ele vai começar a debugar o arquivo da primeira requisição do servidor. Caso não seja criado nenhum breakpoint o debug inicia na primeira linha do arquivo, caso contrario inicia na linha do breakpoint.
Ao final do debug, o MacGDB não vai ficar te perturbando querendo debugar qualquer requisição.
Para começar uma nova sessão de debug é preciso reiniciar o debugger.

Bom é isso.
Até a Próxima!

Advertisement

Tags:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.