Xdebug se puede instalar directo de los repositorios de Ubuntu:
sudo apt-get install php5-xdebug
Una vez instalado, agregamos esto a la configuración:
#/etc/php5/apache2/conf.d/xdebug.ini #verificar que sea la ruta correcta zend_extension=/usr/lib/php5/20090626/xdebug.so xdebug.remote_enable=On xdebug.remote_host="localhost" xdebug.remote_port=9000 xdebug.profiler_enable=0 xdebug.profiler_enable_trigger=1 # Aquí se guardan los archivos de salida. Puede ser la ruta que # quieras pero el directorio ya debe existir y ademas debe # tener permisos de escritura para el usuario que ejecuta el # script xdebug.profiler_output_dir="/tmp/xdebug" xdebug.show_mem_delta=1 xdebug.trace_format=1 xdebug.trace_enable_trigger=1 xdebug.auto_trace=0 # Aquí aplican las mismas condiciones que para el profiler xdebug.trace_output_dir="/tmp/xdebug"
Después de hacer las modificaciones, guardamos el archivo y reiniciamos apache para que los cambios hagan efecto.
Profiler
El profiler nos sirve para identificar las funciones dentro de nuestro script que son llamadas con mas frecuencia, y además nos permite saber cuales son las mas lentas.
Para iniciar el profiler desde el browser, mandar un parametro extra por GET:
http://example.com/pagina.php?XDEBUG_PROFILE=1
Para inciar el profiler desde la línea de comandos:
php -d xdebug.profiler_enable=1 pagina.php
En los dos casos, Xdebug generará un archivo de texto con una gran cantidad de información sobre la ejecución del script. La cantidad de información es tan grande que es practicamente imposible analizar el archivo a simple vista. Para esto usamos KCachegrind, una herramienta que sirve para interpretar los archivos que genera xdebug.
sudo apt-get install kcachegrind
Tracer
El tracer nos permite hacer un análisis del uso de memoria del script.
Para iniciar el profiler desde el browser:
http://example.com/pagina.php?XDEBUG_TRACE=1
Para inciar el tracer desde la línea de comandos:
php -d xdebug.auto_trace=1 pagina.php
Al igual que el profiler, el archivo generado por el tracer no es realmente útil por si solo, pero podemos utilizar este script para generar un listado mas práctico.
php tracefile-analyser.php trace.2043925204.xt memory-own 20
No hay comentarios.:
Publicar un comentario