XDebug e PHP – Instalação

Para quem gosta de desenvolvimento com php, uma ferramenta que facilita muito na hora do desenvolvimento é o XDebug. Pra quê ele serve? Simples, debugar.

Muita gente ainda usa echo e var_dump para depuração de código, o que é uma prática pouco aconselhável. Já ouvi vários relatos de pessoas que pegaram sites para fazer manutenção e encontraram no código:

echo ‘Aqui tá dando erro’;

Este tipo de procedimento não é nada profissional e tem que ser eliminado do desenvolvimento PHP para que a comunidade e a linguagem cresça no mercado.

Neste pequeno tutorial vou demonstrar como se instala o XDebug em ambiente Linux (Ubuntu 9.10) e também utilizando o Xampp, que é um dos melhores pacotes de instalação do Apache, PHP e Mysql que eu já tive oportunidade de usar. Para quem não conhece pode acessar o site do Xampp que lá possui mais informações.

Começando

Para quem não possui o xampp basta acessar o site e baixar o instalador, lá existe, inclusive, as instruções para instalação no linux.

Para poder instalar o XDebug é necessário também baixar os adicionais para desenvolvedores ou “Development package” e sobrescrever os arquivos da instalação do xampp por estes novos arquivos.

Seguindo até aqui, chegou a hora de baixarmos o XDebug para a instalação. Acesse o site do XDebug e baixe os arquivos para instalação. Coloque os arquivos em alguma pasta que você tenha permissão para alterar e no terminal acesse esta pasta.

obs: $ -> seu usuário no ubuntu e # -> superusuário no ubuntu

Execute o assistente para a instalação de módulos no php do xampp: o phpize.

$ /opt/lampp/bin/phpize

Após isto é necessário configurar a extensão

$ ./configure –enable-xdebug –with-php-config=/opt/lampp/bin/php-config

Vamos compilar

$ make

Precisamos agora copiar a extensão xdebug.so para o diretório de extensões do php

# cp modules/xdebug.so /opt/lampp/lib/php/extensions

Para finalizar basta editar o php.ini indicando a instalação do xdebug:

zend_extension=/opt/lampp/lib/php/extensions/xdebug.so

Reinicie o seu xampp e confira no phpinfo se o xdebug está devidamente instalado:

Xdebug instalado no phpinfo

Xdebug instalado no phpinfo

Logo que você instalar vai perceber que todas as mensagens de erro do PHP que são geradas nas páginas vão sofrer algumas alterações. Elas virão bem mais detalhadas o que lhe permite desenvolver uma idéia maior de onde está o problema e como fazer para resolvê-lo sem echo’s e var_dump’s:

Antes:

Antes de instalar o XDebug

Antes de instalar o XDebug

Depois:

Depois do XDebug

Depois do XDebug

Possíveis problemas na instalação do XDebug

Ao instalar o XDebug no Ubuntu 9.10 64 bits encontrei um problema com o arquivo autoconf, para resolver segui os passos de um site que encontrei onde baixei o arquivo para poder instalar.

O site pode ser acessado por: http://www.spiration.co.uk/post/1385/Cannot%20find%20autoconf.%20Please%20check%20your%20autoconf%20installation

Nos próximos posts falarei sobre a real utilidade do XDebug aliado à IDE Netbeans.

Google Wave

Como todos já devem saber o novo serviço do google, o Wave, já está sendo utilizado por algumas pessoas e somente tem acesso quem foi convidado. Quem quiser receber um convite basta comentar este post com o email de recebimento.

Flw

Serviço de email temporário

Hoje em dia é muito comum os spams.

Spam é o uso de sistemas de mensagem eletrônicas (incluindo a maioria das mídias, sistemas de entrega digital) para enviar mensagens não solicitadas indiscriminadamente.

Em outras palavras, aquele monte de emails que você recebe sobre propagandas que você não solicitou: isto é um spam.

Na maioria dos casos, ou em todos, você não quer receber estes emails e não sabe como as remetentes da mensagem conseguiram ele, certo?

Bom, normalmente acontece de empresas venderem cadastros para outras. Uma empresa A possui uma base de dados com vários usuário, a B está interessada neste cadastro e compra da empresa A. Primeiro passo para o spam concretizado, agora basta a empresa B enviar os emails.

Para evitar isso, uma das dicas é não informar seu email principal e existem ferramentas na internet que são úteis nesse tipo de situação:

http://10minutemail.com/10MinuteMail/index.html

O link acima é de um serviço de email temporário. Ao acessar o site você cria automaticamente uma conta de email que será útil por 10 minutos (que podem ser prorrogados de acordo com sua vontade). Um excelente serviço se você quer fazer um cadastro para visitar algum site apenas uma vez e precisa de um email de confirmação ou não.

Aproveitem.

Enviar e-mail com PHPMailer (e Gmail)

Depois de muitas experiências traumatizantes tentando enviar um simples e-mail pelo PHPMailer com o SMTP do Gmail, consegui encontrar uma forma de fazê-lo, bem simples por sinal.

Vamos então a primeira parte:

Habilitando o SSL na rede local

Antes de enviar o email é preciso habilitar o SSL, execute o phpinfo() e veja se consegue encontrar algum OpenSSL. Caso negativo você terá que habilita-lo. No xampp, abra o php.ini (xampp/apache/bin/php.ini), procure a linha:

extension_dir = “C:\xampp\php\ext\”

e altere para:

extension_dir = “C:/xampp/php/ext”

descomente a linha que habilita a extenção o OpenSSL:

extension=php_openssl.dll

Reinicie o apache e execute o phpinfo() novamente. Seu ssl vai estar habilitado.

Enviando e-mail

Use o seguinte código para enviar o e-mail:

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = “smtp.gmail.com”;
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->SMTPSecure = “ssl”;
$mail->Username = “seu_email_do_gmail”;
$mail->Password = “sua_senha_do_gmail”;
$mail->From = “email_do_remetente”;
$mail->FromName = “nome_do_remetente”;
$mail->AddAddress(“email_do_destinatario”,”nome_do_destinatario”);
$mail->WordWrap = 50;
$mail->IsHTML(true);
$mail->Subject = “Aqui vem o assunto da mensagem”;
$mail->Body = “Aqui vem a mensagem com formatacao html”;
$mail->AltBody = “Aqui vem um texto alternativo sem html”;
if(!$mail->Send()){
echo “Mensagem não pôde ser enviada.”;
echo “Mailer Error: “.$mail->ErrorInfo;
exit;
}

echo “Foi enviado”;
?>

Partições NTFS no linux

Estava eu, tranquilamente, aqui no serviço mexendo nos meus arquivos quando precisei montar minha partição NTFS que contém meus arquivos de fonte. Pra minha surpresa a partição não montava, nem a NTFS, nem a do Windows. Como não sabia o que fazer recorria ao pai das buscas: o Google.

Na maioria dos fóruns que apareceram na busca, eles falavam que era problema com a partição windows e disseram que bastava passar um ScanDisk (CheckDisc) nas partições que o problema seria resolvido.

Lá fui eu reiniciar o computador, agendar o scan nas duas partições reinicio de novo e depois de 30 minutos eu terminei o scan das partições e já estava no linux outra vez, minhas partições não davam nem sinal de vida como antes.

A solução:
Depois de dois dias procurando no google encontrei em um “santo fórum” o que eu queria. E vou mostrar pra quem está lendo este artigo como eu resolvi o problema.

Primeiramente é necessário baixar um programa para isso. Pode ser pelo interface gráfica do synaptic ou por código, o programa a ser baixado é o NTFS Config, então no terminal basta digitar:

sudo apt-get install ntfs-config

O programa será baixado para o computador e instalado, após isso basca ir em aplicações, ferramentas do sistema e Ferramenta de configuração NTFS. Automaticamente ele reconhece as partições que estão com o sistema de arquivos NTFS, basta dar um nome para ela que já é criado um caminho e os dispositivos ficam montados para você até mesmo ao iniciar o linux, não precisa mais ficar montando as partições.

Configure para ele aceitar modificações e clique em ok, e suas partições já estarão montadas.

ps: estou utilizando ubuntu 8.04.