debug
Instalar Xdebug en Ubuntu (cualquier versión)
1Esto es mas bien un resumen de las instrucciones que nos deja el mismo creador de Xdebug en su pagina (http://xdebug.org/docs/install) mas un par de cosas que da por entendido que debemos saber
1) Lo primero es bajarse el código fuente de la ultima versión de Xdebug (la 2.1 es la ultima al día de la fecha)
http://xdebug.org/files/xdebug-2.1.0.tgz
2) Descompriman el archivo en una carpeta cualquiera
De acá en mas solo nos queda compilar configurar y probar:
3) Lancen el siguiente comando para asegurarse que tienen instaladas las librerías de desarrollo de php5 que son necesarias para poder compilar Xdebug:
apt-get install php5-dev
4) Entren en la carpeta por medio de la consola:
cd /ruta/a/la/carpeta/donde/descomprimiste/los/archivos/fuente/de/xdebug/xdebug-2.1.0/
5) Lanzar el comando phpize
phpize
6) Lanzar:
./configure --enable-xdebug make sudo make install
Al final del infierno de outputs de salen en la consola van a apreciar que se dibuja un recuadro como el que se ve en la siguiente imagen:
Bueno, justo encima de ese recuadro pueden ver que dice algo como “Installing shared extensions: /usr/lib/php5/20090626+lfs/“. Copien esa ruta.
Ya esta instalado Xdebug. Configuremos lo XD.
7) Editemos php.ini
sudo gedit /etc/php5/apache2/php.ini
Y en la ultima linea del archivo pequen lo siguiente:
zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so" xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000
NOTA: en la linea que dice “zend_extension” reemplacen la ruta del ejemplo por la que copiaron en el paso 6
Listo! todo en teoría funciona. para comprobarlo abran el IDE al que le tengan mas bronca y configurenlo!
Como ver las variables disponibles en una plantilla .tpl.php (PHPTemplate)
0Otro de esos TIP que nos vienen sorprendente mente bien
.
Si estas haciendo debug sobre una plantilla y necesitas saber cuales son las variables de las que dispones sobre la misma, te habras dado con el problema de que no se pueden ver. Osea, las variables existen, y si las mandas a imprimir con un echo() seguro que ahi está, pero hasta que no lo haces no podes saber siquiera que existe.
Bueno basta de intro, vamos a un ejemplo rapido y claro:
Si pones esta función en la plantilla que querés investigar, vas a poder ver un array ($variablesDisponibles para este ejemplo) de los nombres de todas las variables de las que dispone (y de sus contenidos también):
$variablesDisponibles = get_defined_vars();
Chau!
Drupal 6: Mostrar los errores de PHP en lugar de la pantalla blanca (o blank page)
3Suele hacer falta poder ver los errores de PHP en Drupal de vez en cuando.
Abrí el archivo index.php de Drupal y poné lo siguiente justo por encima de “require_once ‘./includes/bootstrap.inc’;“:
//Reportar errores PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
//Fin reportar errores PHP
Configurar Xdebug en Xampp 1.7.3 con PHP 5.3.1
2Si querés configurar Xdebug en linux puede interesarte el post “Instalar Xdebug en Ubuntu (cualquier versión)“
Vayan a la carpeta en la que esta instalado Xampp y entren en la carpeta de PHP.
Abran php.ini y busquen:
;zend_extension = "\xampp\php\ext\php_xdebug.dll"
Quítenle el punto y coma del principio para descomentarlo (Habilitarlo).
Ahora solo queda configurar los parámetros de Xdebug:
Busquen ahora “[XDebug]“. Lo que ven por debajo de esta etiqueta es su configuración, como se que es una putada tener que andar leyendo y habilitando uno a uno les dejo una configuración funcional para que la usen. (Borren todo lo que hay por debajo de la etiqueta [xdebug] antes de pegar esta nueva configuración).
[XDebug] xdebug.auto_trace = 0 xdebug.collect_includes = 1 xdebug.collect_params = 1 xdebug.collect_return = 1 xdebug.collect_vars = "On" xdebug.default_enable = "On" xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD xdebug.dump_globals = 1 xdebug.dump_once = 1 xdebug.dump_undefined = 0 xdebug.extended_info = 1 xdebug.file_link_format = "" xdebug.manual_url = "http://www.php.net" xdebug.max_nesting_level = 100 xdebug.overload_var_dump = 1 xdebug.profiler_append = 0 xdebug.profiler_enable = 0 xdebug.profiler_enable_trigger = 0 xdebug.profiler_output_dir = "\xampp\tmp" xdebug.profiler_output_name = "xdebug_profile.%p" xdebug.remote_autostart = 1 xdebug.remote_enable = 1 xdebug.remote_handler = "dbgp" xdebug.remote_host = "localhost" xdebug.remote_mode = "req" xdebug.remote_port = 9000 xdebug.show_exception_trace = 0 xdebug.show_local_vars = 0 xdebug.trace_output_dir = "\xampp\tmp" xdebug.var_display_max_children = 256 xdebug.var_display_max_data = 512 xdebug.var_display_max_depth = 10
Listo, de acá en mas solo tienen que configurar su eclipse, netbeans, o lo que sea que usen.

