sexta-feira, 27 de abril de 2012

Zend Debugger no Arch Linux

Olá a todos!!

Nas minhas aventuras em programação, decidi explorar um campo novo (pelo menos para mim): Desenvolvimento Web. Tudo bem, não é assim tão novo, já que alguns anos atrás eu havia feito um curso php na faculdade, que me deu boas bases, mas eu nunca tinha passado pela experiência de fazer um sistema web de verdade. Até agora.

No Webwalkers, estou desenvolvendo um sistema web bastante interessante, utilizando tecnologias presentes no mercado, como o Zend Framework. É um framework PHP que permite a construção de sites de arquitetura MVC (Model, View, Controller) de maneira robusta e fácil. A princípio ele é um pouco carrancudo, mas se você for pensar no trabalho que você teria se não tivesse esse framework, a amizade fica fácil. O Zend Framework foi desenvolvido pela Zend, uma empresa que cria soluções para facilitar a vida dos desenvolvedores web. Dentre as soluções, estão o Zend Studio, o Zend Server, além do próprio Zend Framework. Enfim, A Zend fornece um ambiente completo de desenvolvimento PHP. E de graça! Pra quem quiser saber mais, basta visitar o site deles.

A minha luta começou quando tive que debugar um site pra saber o porque de não estar gravando no banco. Pesquisando um pouco, descobri o Zend Debugger, uma lib que permite o debug remoto de um site, rivalizando com o xdebug. Pois bem, baixei a danada da lib e coloquei na pasta de módulos do PHP (valor da diretiva extension_dir do php.ini). Em seguida, o zend pedia para restartar o apache,e olhar no resultado do comando "php -m" (via terminal), se abaixo de "[Zend Modules]" estava escrito "Zend Debugger"... NADA. Nem sinal do zend debugger, parecia que ele não existia... E o pior era que todos os tutoriais me diziam a mesma coisa. Nenhum deles resolvia o meu problema. Até que descobri a solução, e consegui finalmente, instalar o zend debugger.

Executei no console o comando "php -h". Eis que para minha surpresa, estava uma mensagem informando que o módulo Zend Debugger não pôde ser instalado devido a falta de duas libs, a libssl.so.0.9.8, e a libcrypto.so.0.9.8. Só que essas versões são antigas, e como o Arch Linux é um sistema Rolling Release, somente as versões mais novas de cada pacote se encontram instaladas. Sabendo disso, criei links simbólicos para as libs atuais colocando nos links os nomes das libs antigas. Com isso, o zend debugger pôde ser instalado corretamente.

Com isso, segue o meu tutorial para a instalação do zend debugger:
  • Baixe o zend debugger aqui.
  • Dentro do arquivo, existem várias pastas, correspondentes a versão do PHP que você tem instalado. Escolha a pasta adequada e copie o arquivo "ZendDebugger.so" para dentro da pasta de módulos do PHP. Esta pasta está especificada na diretiva extension_dir do php.ini.
  • Edite o php.ini, adicionando as seguintes linhas no final do arquivo:
      
        [Zend]
        zend_extension = /caminho/para/o/arquivo/ZendDebugger.so
        zend_debugger.allow_hosts=127.0.0.1/32
        zend_debugger.expose_remotely=always
        zend_debugger.connector_port=10000 
        
  • Reinicie o apache e veja o resultado da função phpinfo(). Se você encontrar esta informação:

       O Zend Debugger foi instalado com sucesso!

Caso não tenha funcionado, execute o comando "php -h" no console e veja se há algum aviso, algo fora do comum. Foi assim que descobri o problema das libs faltantes.

É isso. Espero que tenha sido útil este post.

Inté.