Siempre que tengo que trabajar usando PHP acostumbraba a usar echo
, var_dump
, print_r
para debugguear ( si, para ver por donde pasa y donde no pasa el script, y el contenido actual de las variables ), hasta hoy me di a la tarea de configurar el debugger de php o más bien xdebug con lo que permite debugguear como si de una aplicación de escritorio se tratara.
Configurar Xdebug
En este caso acostumbro usar MAMP como servidor en OS X que por defecto ya viene con Xdebug, solo que desactivado, para activarlo solo tenemos que modificar y agregar unas cuantas líneas en nuestra archivo php.ini que se encuentra normalmente en:
/Applications/MAMP/conf/phpX/php.ini
donde X es la versión de php que estés usando, en mi caso es «5.4.10«, también localicen el siguiente archivo:
/Applications/MAMP/bin/php/phpX/conf/php.ini
Ya que en mi caso no funcionaba con el primer archivo mencionado así que modifiqué ambos.
Abrimos ambos archivos php.ini, y buscamos las líneas de configuración de [xdebug] donde encontraremos comentada la variable «zend_extension«, la descomentamos y justo después de ella agregamos las siguientes líneas:
xdebug.default_enable=1 xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.idekey=KEY xdebug.remote_autostart=1
en «xdebug.remote_port» pueden poner el puerto que vayan a usar, en «xdebug.remote_host» en este caso mi servidor local ( 127.0.0.1 o localhost ), y «xdebug.idkey» puede ser lo que quieran, solo es el nombre de la sesión que usaremos para comunicarnos con el IDE.
Para que estos cambios sean reconocidos, debemos salvar los archivos y reiniciar nuestro servidor local, recuerden que debemos cambiar ambos archivos ya que por alguna rara situación a mi el primer archivo no lo reconocía del todo.
Configurar PHPStorm
La configuración la voy a hacer con PHPStorm ( que es un excelente IDE para aplicaciones Web ), pero es similar a la configuración en Netbeans o el IDE que utilicen, solo tienen que fijarse de las variables.
Abrimos nuestro proyecto en PHPStorm y nos dirigimos a sus configuraciones de depuración y damos click en «Editar configuraciones» ( Edit configurations…):
En la ventana que aparece tenemos que darle al «+» que hay en la esquina superior izquierda y señalar «PHP Remote Debug«:
ahora tenemos que configurar nuestro servidor, dando click en el botón con tres puntos ( … ), y abajo ponemos nuestra KEY que definimos en el php.ini:
Las configuraciones del servidor deben ser las mismas que pusimos en el php.ini, el nombre puede ser el que quieran solo es para reconocerlo, deben usar el puerto correcto.
Ya solo seleccionamos nuestro servidor que acabamos de crear en el combo y damos en aceptar, a mi me viene mejor marcar «Single instance» para tener corriendo solo 1 debugger a la vez eso ya depende de ustedes.
Ya casi hemos terminado, ahora viene lo que yo no sabía y no podía seguir porque no lo explicaban bien, para funcionar la «key» que definimos tiene que estar en una variable de sesión o cookie en nuestro navegador llamada «XDEBUG_SESSION» y que contenga la key que pusimos, esto hace posible que se conecte con nuestro IDE desde el navegador, podemos poner esto de forma manual o usar el generador de «bookmarks» de PHPStorm, solo ponemos nuestra KEY y le damos a generar, esto nos va a generar unos enlaces javascript (que sirven para generar esta cookie automáticamente al estar en la pestaña correspondiente), pero yo prefiero usar una extensión en Chrome llamada «Xdebug helper» que hace exactamente lo mismo pero dando click cuando queramos en la barra de direcciones.
Ahora si, prometo que ya casi, si eligieron la extensión de Chrome solo tienen que configurarla ( Click derecho sobre el escarabajo y configuraciones ), de nuevo solo poniendo nuestra KEY y los dominios donde queramos tener el plugin funcionando, en este caso para mi solo «localhost»:
citas sct por internetSi usaron los bookmarks, tienen que darle click al bookmark correspondiente cuando quieran tenerlo activo, o poner la cookie manualmente.
Bien, ya en la recta final, debemos activar en nuestro IDE el listener de conexiones debug, es el teléfono que aparece en la barra de herramientas y al darle click el icono que antes tenía un símbolo de prohibido ahora tendrá unas ondas verdes:
citas en linea tegucigalpa buscar mujeres solteras de brasil
Y dar click al escarabajo para comenzar a debuggear ( asegúrate de tener seleccionado el debug que configuramos en el combo de a lado ):
https://serprogramador.es/grupos-whatsapp-conocer-mujeres/
Si lo hemos hecho todo bien nos saldrá la ventana de debug lista y escuchando las conexiones entrantes:
ponemos un punto de quiebre en nuestro archivo php y lo ejecutamos desde el navegador
Y al llegar el script a la línea marcada podremos comenzar debuggear tranquilamente.
He tratado de que sea claro, aunque puede haber algunas dudas, así que cualquiera que haya me la pueden hacer saber para resolverla, sin hablar de que, muy a parte de que es «más profesional», es mucho más fácil trabajar así para saber exactamente lo que pasa paso a paso en nuestro script sin tener que añadir líneas de más al código que luego hay que borrar XD.
Todos los comentarios son bien recibidos, si es para agradecer, preguntar o incluso para corregir cualquier error que pueda tener, un saludo y hasta una próxima entrada.