Configurando Eclipse PDT + XDebug

Tags: , , — August 10, 2008 @ 3:20 pm

O XDebug é um alternativa livre e bem completa para depurar aplicações em PHP. Com ele é possível verificar em tempo de execução o valor de todas as variáveis durante erros, assim como em breakpoints pré-definidos.

Estarei demonstrando neste post como configurar o XDebug para ser utilizado em conjunto com o Eclipse PDT (former PHPIDE) no Debian testing (outras distribuições, e até mesmo Windows e Mac OS X  tem a mesma configuração, diferenciando-se apenas na instalação do XDebug e caminho do arquivo de configuração deste). O que deve salvar horas de depuração de seus aplicativos e extingir o uso das funções print_r() ou var_dump().

As versões mais recentes do Eclipse PDT já vem com suporte ao XDebug, como alternativa ao Zend Debugger, então, caso você já tenho o Eclipse PDT instalado em sua máquina, deve precisar, no máximo, atualizar a instalação com o update-manager. Para os demais, basta baixar da página de downloads do Eclipse PDT.

Mesmo para quem utilize Debian ou Ubuntu, recomendo baixar e instalar o Eclipse PDT manualmente pelo site, ao invés de utilizarem o gerenciador de pacotes (aka. aptitude ou apt-get), é apenas necessário ter o pacote sun-java5-bin instalado.

Para instalar o XDebug verifique os pacotes disponíveis para sua distribuição, ou faça o download dos binários (para Windows e Mac) do site. Para usuários do Debian ou Ubuntu basta instalar via apt:

# aptitude install php5-xdebug

Após concluída e instalação, edite o arquivo xdebug.ini (no Debian ele deve estar em /etc/php5/conf.d/xdebug.ini), mantenha a linha com a opção ‘zend_extension=’ e adicione as linhas abaixo e reinicie seu servidor web (apache, lighttpd, etc.):

xdebug.remote_enable=1
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"

Para saber detalhes sobre estar opções, ou outras disponíveis, veja a documentação do XDebug.

Já no Eclipse, vá em Window -> Preferences -> PHP -> Debug -> Installed Debuggers e verifique se o XDebug está configurado na porta correta (9000, como colocamos no xdebug.ini):

2008-08-10_144020.png

Depois vá em  Window -> Preferences -> PHP -> PHP Executables (mesma Janela) e edite/adicione o caminho correto para seu executável PHP, selecionando XDebug como PHP debugger:

2008-08-10_144336.png

Então vá em  Window -> Preferences -> PHP -> Debug (mesma janela) e selecione o XDebug como seu PHP debugger padrão e seus executável PHP. Também desmarque a opção Break at first line, pois esta poderá ser adicionada mais tarde.

2008-08-10_144004.png

Após definir as configurações gerais, feche a janela e vá em Run -> Open Debug Dialog e de dois cliques em PHP Web Page. Nesta janela basta configurar o XDebug como Server Debugger o servidor web (Apache, Lighttpd, etc.) onde será acessada a aplicação, em PHP Server, o arquivo que iniciará aplicação (geralmente algum index.php, obrigatoriamente dentro de um projeto previamente configurado), em file, e a url para este arquivo, é qual pode ser configurada automaticamente, ou definida manualmente. Note também a opção Break at First Line que pode ser definida para a aplicação ser debugada logo na primeira linha:

2008-08-10_144124.png

Também deve ser necessário definir o navegador onde as páginas serão exibidar em Window -> Preferences -> General -> Web Browser. Selecione User external Web browser e escolha o navegador de sua preferência (Iceweasel ou Firefox, no meu caso).

Perspectiva PHP Debug, exibindo variáveis atuais, com XDebugApós concluída a configuração, basta clicar no botão Debug da barra de ferramentas e a sessão será iniciada. Sempre que houver algum erro na aplicação, ou esta atingir um breakpoint definido por você, a perspectiva deverá mudar para a PHP Debug, pausando a aplicação, e exibindo todas as variáveis (inclusive parametros enviados por GET ou POST e variáveis de sessão) definidas atualmente.

Fonte: http://www.starbowconsulting.com/blog/tao/setting-eclipse-pdt-and-xdebug

Lançado último release do PHP 4

Tags: , — August 8, 2008 @ 5:14 pm

Como falado anteriormente, hoje é o dia da última atualização de segurança para o PHP 4.4.

Como anunciado no php.net, foi lançada ontem a última atualização de segurança para o PHP 4.4, release 4.4.9, e será esta a última. Segundo a notícia no PHP.net, é extremamente recomendado para os usuários do PHP 4 atualizarem para esta versão.

Cá entre nós, vale muito mais atualizar logo para o PHP 5.

Configurando Eclipse SVN (Subclipse) com JavaHL (JNI)

Tags: , , — August 7, 2008 @ 3:54 pm

Configurar o plugin subclipse para conectar com um repositório Subversion utilizando-se JavaHL pode dar certo trabalho, dependendo de como e onde o Eclipse foi instalado. Porém, com poucos passos podemos configurá-lo sem problemas.

Utilizar JavaHL como conector para o subclipse, ao invés de SVNKit, possibilita uma melhor integração quando você utilizando tanto comandos svn por linha de comando como com o Eclipse pois os conectores estarão em sincronia com seu cliente Subversion.

Primeiramente, instale os cliente subversion e os conectores java com seu gerenciador de pacotes. No Debian e Ubuntu o comando será como a seguir:

# aptitude install subversion libsvn1 libsvn-java

Então instale normalmente o plugin subclipse em seu Eclipse, juntamente com o conector Nativo JavaHL. O update-site e instruções para instalação podem ser encontrados na página do subclipse. Após isso, edite seu eclipse.ini (deve estar localizado no mesmo diretório que o Eclipse foi instalado) e adicione a linha abaixo ao final do arquivo:

-Djava.library.path=/usr/lib/jni

Reinicie o Eclipse e verifique se JavaHL (JNI) está selecionado em Menu -> Window -> Preferences -> Team -> SVN-> SVN interface:

Selecionando JavaHL (JNI) como conector SVN para o Subclipse

Pronto, após isto você poderá importar ou compartilhar seus projetos controlados por Subversion a partir do Eclipse.

Veja os manuais para detalhes de como utilizar o plugin Subclipse ou os comandos e conceitos do Subversion.

Fonte: http://ahtik.com/blog/2008/01/10/configuring-eclipse-svn-subclipse-to-use-javahljni/

<<< Previous Page