miércoles, 13 de abril de 2011

Instalar Xdebug para PHP5 en Ubuntu

Este es un pequeño tuto o how-to de como instalar Xdebug con PHP5 en Ubuntu 10.04, mas adelante daré mas detalles de como sacarle provecho a esta extensión.

Primero, que es Xdebug?

La extensión Xdebug le ayuda a depurar el guión de proporcionar una gran cantidad de valiosa información de depuración.

La información de depuración que puede Xdebug proporcionar incluye lo siguiente:

  • seguimientos de pila y huellas función en los mensajes de error con:
    • completo pantalla de parámetros de funciones definidas por el usuario
    • nombre de la función, el nombre del archivo y la línea de las indicaciones
    • apoyo a las funciones miembro
  • de asignación de memoria
  • protección de recursiones infinita

Xdebug también ofrece:

  • perfiles información para los scripts PHP
  • código de análisis de cobertura
  • capacidades para depurar sus scripts de forma interactiva con un cliente de depuración

Bueno, basta de chácharas, empezaremos a instalar y configurar Xdebug, se supone de ante mano que tenemos PHP5 y Apache2 ya funcionando.

1chuecko@zarpele ~ $ sudo apt-get install php5-dev php-pear

Ahora instalamos Xdebug PECL

1chuecko@zarpele ~ $ sudo pecl install xdebug

Si todo sale bien, las ultimas lineas de el anterior comando serian mas o menos asi…

1Build process completed successfully
2Installing '/usr/lib/php5/20060613+lfs/xdebug.so'
4configuration option "php_ini" is not set to php.ini location
5You should add "extension=xdebug.so" to php.ini

Ya sabemos, que se instalo en /usr/lib/php5/20060613+lfs/xdebug.so, pero igual nos aseguraremos de eso…

1chuecko@zarpele ~ $ find / -name 'xdebug.so' 2> /dev/null

Que efectivamente nos devolvio…

1/usr/lib/php5/20060613+lfs/xdebug.so

Listo ahora debemos decir a Php que incluya esta extensión…’

1chuecko@zarpele ~ $ sudo gedit /etc/php5/apache2/php.ini

Agregamos la siguiente linea…

1zend_extension="/usr/lib/php5/20060613+lfs/xdebug.so"

Reiniciamos Apache…

1chuecko@zarpele ~ $ sudo /etc/init.d/apache2 restart

Listo, funcionando, ahora lo vamos a configurar, antes nos fijaremos si Php cargó esta extensión con phpinfo() …

xdebug-phpinfo

Creamos una carpeta en, /var/log/, llamada xdebug, para que vaya guardando los cachegrind que generemos…

1chuecko@zarpele ~ $ sudo mkdir /var/log/xdebug

Ahora, editamos el fichero de configuración /etc/php5/conf.d/xdebug.ini , en caso de no existir hay que crearlo…

1chuecko@zarpele ~ $ sudo gedit /etc/php5/conf.d/xdebug.ini

y le añadiremos estas lineas…


1xdebug.default_enable = 1
2xdebug.profiler_enable = On
3xdebug.profiler_output_dir = "/var/log/xdebug"
4xdebug.profiler_output_name = cachegrind.out.%p
5
6xdebug.remote_enable=true
7xdebug.remote_host=127.0.0.1
8xdebug.remote_port=9000
9xdebug.remote_handler=dbgp

No hay comentarios:

Publicar un comentario