<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fabio Farias &#187; Revista</title>
	<atom:link href="http://www.fabiofarias.com.br/category/php/revista/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fabiofarias.com.br</link>
	<description>Informações e Tecnologias de maneira rápida e facil.</description>
	<lastBuildDate>Thu, 16 Jun 2011 19:39:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Debugando em PHP com Wamp e NetBeans</title>
		<link>http://www.fabiofarias.com.br/2010/05/28/debugando-em-php-com-wamp-e-netbeans/</link>
		<comments>http://www.fabiofarias.com.br/2010/05/28/debugando-em-php-com-wamp-e-netbeans/#comments</comments>
		<pubDate>Fri, 28 May 2010 19:13:32 +0000</pubDate>
		<dc:creator>Fabio Farias</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Revista]]></category>

		<guid isPermaLink="false">http://fabiofarias.com.br/?p=26</guid>
		<description><![CDATA[Debugando em PHP com Wamp e NetBeans.
Um recurso pouco explorado pela maioria dos programadores php que conheço, e até por mim mesmo que apesar de ter mais de 5 anos de experiência com a linguagem, só agora resolvi fazer um debug de verdade funcionar.<p><a href="http://www.fabiofarias.com.br">Fabio Farias - Informações e Tecnologias de maneira rápida e facil.</a> este post é de:  <a href="http://www.fabiofarias.com.br">Fabio Farias</a> </p>
]]></description>
			<content:encoded><![CDATA[<p>Um recurso pouco explorado pela maioria dos programadores php que conheço, e até por mim mesmo que apesar de ter mais de 5 anos de experiência com a linguagem, só agora resolvi fazer um debug de verdade funcionar.</p>
<p>Debugar códigos na maioria das linguagens de programação, permite que você navegue por dentro do código e suas funções na medida que o programa ou página é executada, podendo acompanhar o valor de variáveis e inclusive alterá-las, o que ajuda em 90% o desenvolvedor a encontrar falhas ou pontos específicos em uma aplicação.</p>
<p>Então vamos ao que interessa…</p>
<p>Para ser rápido, presumimos que você tenha instalado em seu ambiente windows o pacote Wamp e o NetBeans 6.5.x, ambos com suas configurações originais.</p>
<p>- <a title="Download Wamp Server - Pacote de Servidor Apache + Mysql + PHP para Windows" href="http://www.wampserver.com/en/download.php" target="_blank">Fazer download do Wamp Server</a>.<br />
- <a title="Ferramenta visual (IDE) de desenvolvimento para PHP." href="http://www.netbeans.org/downloads/start.html?platform=windows&amp;lang=pt_BR&amp;option=php&amp;version=6.5.1" target="_blank">Fazer download do NetBeans 6.5.1  para PHP</a>.</p>
<p><img src="http://www.revistaphp.com.br/arquivos/Image/ricardo_martins/firewall-windows-150x150.jpg" alt="" width="150" height="150" align="left" />1. A primeira coisa que vamos fazer é ir até o Firewall do windows, no Painel de Controle e adicionar a porta TCP 9000 como exceção, para evitar problemas com o debug no netbeans.</p>
<p>2. Na seqüência, abra seu NetBeans e vá ao menu Ferramentas -&gt; Opções (Tools -&gt; Options) e clique no ícone do PHP. Em seguida verifique se a porta de depuração é a 9000, e altere caso não seja. Clique em OK.</p>
<p>3. Você precisará de uma extensão de debug do php. No meu caso, utilizei o XDebug. Veja a versão do seu PHP na sua pagina inicial do Wamp Server (http://localhost/) e faça o download da .DLL na versão apropriada:<br />
- <a title="XDebug para php 5.2 VC6" href="http://www.xdebug.org/files/php_xdebug-2.0.4-5.2.8.dll" target="_blank">Faça download do XDebug para versão do PHP 5.2</a>.<br />
- <a title="XDebug para php 5.3 VC6" href="http://www.xdebug.org/files/php_xdebug-2.0.4-5.3.0-vc6.dll" target="_blank">Disponível também para versão 5.3 aqui</a>.<br />
- <a title="Outras versões do XDebug" href="http://www.xdebug.org/download.php" target="_blank">Consulte  outras versões</a>.</p>
<p>4. Coloque o arquivo DLL que acabou de baixar na pasta EXT do PHP. Se você instalou o wamp de forma padrão esta pasta será “C:\wamp\bin\php\php5.2.5\ext” ou algo parecido dependendo da versão instalada.</p>
<p>5. Feito isso, inicie o Wamp Server (caso ele não esteja iniciado), clique no ícone dele ao lado do relógio e procure pelo arquivo php.ini. (Menu: PHP-&gt;php.ini).</p>
<p>6. O arquivo abrirá no bloco de notas. Vá até o final do arquivo e  adicione as linhas abaixo:</p>
<pre>
<ol>
<li>
<div>[XDebug]</div>
</li>
<li>
<div>; Only Zend OR (!) XDebug</div>
</li>
<li>
<div>zend_extension_ts = “C:\wamp\bin\php\php5.2.5\ext\php_xdebug-2.0.4-5.2.8.dll”</div>
</li>
<li>
<div>; XAMPP and XAMPP Lite 1.7.0 and later come with a bundled xdebug at &lt;XAMPP_HOME&gt;/php/ext/php_xdebug.dll, without a version number.</div>
</li>
<li>
<div>xdebug.remote_enable=1</div>
</li>
<li>
<div>xdebug.remote_host=127.0.0.1</div>
</li>
<li>
<div>xdebug.remote_port=9000</div>
</li>
<li>
<div>; Port number must match debugger port number in NetBeans IDE Tools &gt; Options &gt; PHP</div>
</li>
<li>
<div>xdebug.remote_handler=dbgp</div>
</li>
<li>
<div>xdebug.profiler_enable=1</div>
</li>
<li>
<div>xdebug.profiler_output_dir=”c:\wamp\xdebug”</div>
</li>
</ol>
</pre>
<p>Altere o caminho da dll se necessário, colocando o caminho exato da pasta e do arquivo que você acabou de fazer download no passo anterior. Ele pode variar dependendo da versão conforme falei.</p>
<p>7. Salve o arquivo e reinicie todos os serviços do wamp na opção “Reiniciar todos os serviços” que aparece no menu do relógio.</p>
<p>8. Para confirmar a instalação, acesse o link do phpinfo() que aparece na página inicial do seu wamp (http://localhost/?phpinfo=1).</p>
<p>9. Se tudo correu bem, o final do primeiro trecho do phpinfo deverá ser parecido com este:</p>
<input src="http://www.revistaphp.com.br/arquivos/Image/ricardo_martins/zend-xdebug1.jpg" type="image" />
Dica: se você já tinha uma instalação anterior, certifique-se de que não há componentes de debug do zend instalados e configurados no php.ini. Os dois não se entendem muito bem.</p>
<p>Finalmente debugando no NetBeans</p>
<p><img src="http://www.revistaphp.com.br/arquivos/Image/ricardo_martins/codigo1.jpg" alt="" width="313" height="167" align="left" />Se você chegou até aqui, parabéns. O mais difícil já foi (eu acho). Agora debugar fica mais fácil.</p>
<p>Abra seu NetBeans e crie um arquivo PHP qualquer ou abra um projeto existente. Diferente de outros meios de debug,marcando o breakpoint no netbeans nada precisará ser alterado no código.</p>
<p>Vá até a linha que deseja que o debug comece a ser executado e pressione Ctrl + F8 ou clique no número da linha ao lado esquerdo do código. (Veja ao lado)</p>
<p>Em seguida, mande depurar o arquivo apertando Ctrl + Shift + F5 ou indo ao menu “Depurar -&gt; Depurar arquivo.php”.</p>
<p>Na janela que se abrirá marque a opção PHP do lado do servidor.</p>
<p><img src="http://www.revistaphp.com.br/arquivos/Image/ricardo_martins/codigo2.jpg" alt="" width="270" height="78" align="left" />Uma nova janela do navegador se abrirá e a execução irá parar no ponto de interrupção que determinamos com uma setinha verde apontando a linha do código que está sendo executada.  Você pode alterar o valor das variáveis em tempo de execução, ou criar observadores (watchers) para elas.</p>
<p>Para continuar a execução basta apertar F5 ou o botão <img title="continue-debugging-session" src="http://www.revistaphp.com.br/arquivos/Image/ricardo_martins/continue-debugging-session.png" alt="continue-debugging-session" width="30" height="30" /> no próprio  NetBeans.</p>
<p>Isso tudo que falei é apenas o básico do processo de debug que o netbeans permite fazer. Existem outros métodos como utilizando o plugin FirePhp para o Firefox, mas não falarei disso desta vez.</p>
<p>Espero que esta seja uma boa alternativa pra você no lugar dos velhos  ‘echos’ perdidos no seu código fonte.</p>
<blockquote><p>Para ver e aprender mais sobre o assunto, <a title="Debugging no NetBeans" href="http://www.netbeans.org/kb/docs/php/debugging.html" target="_blank">veja a matéria sobre debugging na página especial da  netbeans </a>(em inglês). Tem um passo-a-passo do processo de debug bem  bacana.</p></blockquote>
<p><strong>Update (09-dez-2009):</strong> as versões que sugeri para download são para PHP’s compilados com VC6. Veja qual a forma de compilação do seu php no phpinfo(), no item ‘Compiler’. Ex: MSVC6 (Visual C++ 6.0) corresponde ao VC6 do Xdebug. Baixe a versão adequada ao seu PHP, não esquecendo de substituir o nome da DLL no php.ini confome mostrado acima.</p>
<p><a href="http://www.fabiofarias.com.br">Fabio Farias - Informações e Tecnologias de maneira rápida e facil.</a> este post é de:  <a href="http://www.fabiofarias.com.br">Fabio Farias</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.fabiofarias.com.br/2010/05/28/debugando-em-php-com-wamp-e-netbeans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

