Compartiendo el conocimiento
RSS icon Bullet (black)
  • Depurar nuestro código PHP con Zend Debug en Linux – Ubuntu

    Posted on abril 16th, 2010 admin 6 comments

    Hola de nuevo amigos, después de un largo tiempo de inactividad, desde http://www.weblogica.es vamos a retormar nuestro hilo de artículos sobre técnicas y buenas prácticas de programación web.

    En esta ocasión, hablaremos de un tema sumamente importante, la depuración de código escrito en PHP, una técnica que todo programador en PHP debería utilizar como parte esencial en la etapa de desarrollo de cualquier aplicación.

    Cualquier lenguaje de programación que se precie, debe incluir un sistema que nos permita debugar nuestro código, un sistema que nos permita visualizar la pila de llamadas, el valor de las variables del programa, el valor de las variables sistema o entorno etc... y PHP en conjunción con Eclipse PDT nos brinda esta importante característica. En este artículo vamos a ver paso a paso como instalar Eclipse PDT y Zend Debug en nuestro sistema.

    Iniciaremos la primera parte de este artículo con la instalación de estas herramientas en un sistema libre basado en Linux, más concretamente, una distribución de Ubuntu.

    Para comenzar, deberemos instalar Eclipse PDT (PHP Development Tools) que es nada más y nada menos que una distribución de la archi-conocida plataforma de desarrollo con los plugins necesarios para programadores de PHP. Una vez terminada la descarga de Eclipse, procederemos a desempaquetar nuestro archivo en nuestro Home o en el directorio /opt según los gustos del consumidor

    El siguiente paso será descargar la extensión Zend debugger, para ello abriremos una sesión en el terminal de linux y ejecutaremos los siguientes comandos:

    $ cd /tmp
    $ wget -c http://downloads.zend.com/pdt/server-debugger/ZendDebugger-5.2.15-linux-glibc23-i386.tar.gz
    $ tar zxf ZendDebugger-5.2.15-linux-glibc23-i386.tar.gz

    Estas 3 líneas de código realizan las siguientes operaciones:
    1. Nos movemos al directorio temporal.
    2. Bajamos de la URL indicada la extensión Zend Debug
    3. Descomprimimos el paquete.

    En este punto tenemos instalado nuestro entorno de desarrollo de Eclipse PDT y la extensión Zend Debugger. Ahora procederemos a configurar nuestro servidor Apache para que podamos hacer uso de la herramienta de debug. Para ello deberemos conocer cual es el directorio donde PHP va a buscar las extensiones "extension_dir" y donde guarda el fichero de configuración php.ini.

    La forma más sencilla para averiguar estos datos es listando nuestra configuración de PHP con el comando

    <?php echo phpinfo(); ?>

    Para ello crearemos un fichero llamado phpinfo.php dentro de nuestro directorio web y escribiremos el código anteriormente citado. Cuando desde nuestro navegador preferido invoquemos a dicha página de PHP, visualizaremos la configuración de PHP en nuestro sistema, y buscaremos los valores "extension_dir" y Configuration File

    Ahora que hemos localizado cual es el directorio de nuestro php.ini y el directorio utilizado por PHP para buscar las extensiones extension_dir, procederemos a escribir en nuestro terminal los siguientes comandos:

    $ zendpath="/usr/lib/php5/20060613+lfs"
    $ sudo mv ZendDebugger-5.2.15RC1-linux-glibc23-i386/5_2_x_comp/ZendDebugger.so $zendpath
    $ sudo chown root:root $zendpath"/ZendDebugger.so"
    $ rm -fR /tmp/Zend*

    Con estas líneas en la ventana de comandos, basicamente estamos definiendo la variable zendpath asignándole el valor de nuestro extension_dir. Movemos el archivo ZendDebugger.so al directorio donde Apache busca las extensiones y por último borramos del directorio temporal el archivo bajado y el directorio donde hemos descomprimido dicho archivo.

    Ahora, deberemos editar nuestro fichero de configuración php.ini e incluir las siguientes líneas, cambiando ruta_al_archivo_ por la ruta que nos indicaba la directiva extension_dir, en el caso de ejemplo "/usr/lib/php5/20060613+lfs/":

    zend_extension=<ruta_al_archivo_/ZendDebugger.so>

    Por último deberemos reiniciar nuestro servidor PHP. Podemos realizarlo desde nuestro terminal copiando la siguiente instrucción:

    sudo /etc/init.d/apache2 restart

    ¡ Excelente !, ya tenemos configurado nuestro entorno de desarrollo y la extensión de Zend Debug para poder debugar nuestro código PHP. Ahora es el momento de configurar nuestro entorno Eclipse PDT para trabajar con Zend Debug, así que ya puedes abir (si es que aún no lo has hecho) la aplicación.

    Lo primero que haremos será ir al menú Windows -> Preferences, desplegaremos la opción de PHP y marcaremos el item Debug. Visualizaremos una ventana parecida a esta:

    Si la opción PHP Executable: os pone algo parecido a Unresolved PHP Version, deberemos configurar una nueva entrada en la opción de PHP Executables indicando los parámetros tal y como indica la siguiente captura de pantalla:

    Edit PHP Executable

    Bueno....¡por fin! ya se acabó el proceso de configuración. En realidad no es tan largo, tan solo que lo he querido explicar para que ninguno de vosotros os perdais y os dediqueis a copiar pegar sin entender nada de lo que estamos haciendo.

    Ahora ha llegado el momento cumbre, vamos a utilizar el debugger y vamos a notar el poder de esta fabulosa herramienta, que os aseguro que nos va a ahorrar mucho tiempo en la detección de problemas en nuestros scripts, además de no manchar nuestro código con instrucciones como echo, die, var_dump etc...

    Veamos el siguiente vídeo, donde explico brevemente como comenzar a utilizar nuestro debug.

    This movie requires Flash Player 9

 

6 Respuestas to “Depurar nuestro código PHP con Zend Debug en Linux – Ubuntu”

  1. Excelente tutorial, solamente un aporte en la parte donde dice: «Si la opción PHP Executable: os pone algo parecido a Unresolved PHP Version».

    Algunos no tenemos el archivo /usr/bin/php5

    Y este es muy importante para el debugg, por ello hay que instalar php5-cli a través de Synaptic o desde la consola:

    sudo aptitude update
    sudo aptitude purge php5-cli
    sudo aptitude install php5-cli

    Gracias, saludos

  2. Gracias por tu comentario

  3. I really love what you write here, very refreshing and smart. One thing though, I’m running Firefox on Ubuntu and parts of your site structure are a little wonky. I know it’s not a common setup, but it is still something to keep an eye on. Just shooting you a heads up.

  4. muy bueno el tutorial pero hay para windows

  5. Hola franolig. La instalación en Windows es muy similar aunque las rutas varían.
    Intentaré realizar una variación breve sobre plataformas Windows.

  6. It is in point of fact a nice and helpful piece of information. I’m happy that you shared this useful information with us. Please stay us informed like this. Thanks for sharing.