LinuxParty



Gracias por colaborar y  enviar un artículo.

De todos los campos que verás, los únicos obligatorios son: El TÍTULO, EL ARTÍCULO y la CATEGORÍA, el resto de los campos los puedes dejar en blanco, ya que o no son necesarios o se rellenarán automáticamente.

Tal vez, prefieras enviar un archivo (sólo txt, odt, doc o pdf)



 

Ratio:  / 8
MaloBueno 

Programar un lenguaje con un IDE, es una de las opciones más deseadas por cualquier programador que puede haber usado tanto compiladores Borland o bien los de Microsoft, en LinuxParty, te enseñamos a usar el plugin de Eclipse PHPEclipse, con la herramienta Eclipse, que es una verdadera delicia.

REQUISITOS.

Debemos tener instalado los paquetes que se muestran a continuación, dependiendo de tu distribución se pueden llamar de distinta forma, pero hay herramientas gráficas, tanto en Ubuntu, como en Fedora, que te pueden ayudar a hacerlo, por ejemplo kyum (Fedora, y distribuciones basadas en RedHat, como SuSE, CentOS, Mandrake, etc...)

eclipsephp01 por ti.

Por ejemplo, en Fedora podrá instalarlo de la siguiente manera:

[root@localhost ~]# yum search phpeclipse   xdebug  pecl-apc

Complementos cargados:langpacks, presto, refresh-packagekit
============== Nombre/Resumen que coinciden con: phpeclipse ==========
eclipse-phpeclipse.noarch : PHP Eclipse plugin

============== Nombre/Resumen que coinciden con: xdebug =============
php-pecl-xdebug.x86_64 : PECL package for debugging PHP scripts

============== Nombre/Resumen que coinciden con: pecl-apc ============
php-pecl-apc.i686 : APC caches and optimizes PHP intermediate code
php-pecl-apc.x86_64 : APC caches and optimizes PHP intermediate code
php-pecl-apc-devel.i686 : APC developer files (header)
php-pecl-apc-devel.x86_64 : APC developer files (header)


  Nombre y resumen que coinciden con  y en general con , use "buscar todo" para todo.
[root@localhost ~]#
[root@localhost ~]# yum -y install eclipse-phpeclipse.noarch \
> php-pecl-xdebug.x86_64 \
> php-pecl-apc.x86_64
[Pulsamos Intro para comenzar la instalación]

Si su plataforma es x86_64, todos los paquetes deben ser iguales, averigualo escribiendo:

uname -.a

En Debian (tal vez en Ubuntu) deberá buscarlo escribiendo

 apt-cache search paquete

[root@localhost ~]# apt-cache search phpeclipse   xdebug  pecl-apc

Si se encuentran los paquetes, podrá proceder a instalarlos escribiendo...

[root@localhost ~]# apt-get install php-pecl-xdebug.x86_64 php-pecl-apc.x86_64
[Pulsamos Intro para comenzar la instalación]

Para buscar el paquete, y apt-get install paquete, para instalarlo, si no lo encuentra, deberá instalarlo desde el apartado de Plugins de Eclipse y leerse los manuales de instalación.

Ojo, puede instalar eclipse desde apt-get install eclipse (descargue en su caso, sólo phpeclipse)

eclipsephp03 por ti.


Crear Un Proyecto.

El primer paso es crear el proyecto. Para ello, haga clic en el menú Archivo, mueva el ratón sobre 'Nuevo' y seleccione 'Otros ...'.

Figura 1. Creación de un Proyecto

eclipsephp04 por javiom1.

 

Creando un Proyecto.

Cuando aparece la ventana seleccionar "File", en el menú desplegable "New" y en el nuevo menú despegable "Proyect" creará un proyecto de PHP.

Figura 2. Asistente (wizard) sobre la Selección del proyecto PHP de la lista de selección

eclipsephp05 por javiom1.

Cuando aparece la ventana de Nuevo Proyecto PHP, selecciona un nombre para su proyecto. Si su trabajo no está dentro de su webroot, se recomienda crear su proyecto en un directorio. Para ello, desmarque 'Usar ubicación predeterminada' y escriba una vía alternativa en su lugar. Cuando haya introducido un nombre del proyecto y un camino, haga clic en el "Finalizar" para continuar.

Figura 3. Nueva ventana del proyecto de PHP

eclipsephp06 por javiom1.

 

Entonces New PHP Proyect creará un proyecto vacío de PHP para usted. Su trabajo debería tener un proyecto PHP, de forma similar a la siguiente figura.

Figura 4. De trabajo con el Nuevo Proyecto PHP

 

eclipsephp07 por javiom1.

El Proyecto PHP ha sido creado y ahora puede empezar a añadir los archivos y código fuente para su proyecto.

Nota:

El icono azul en la esquina superior derecha - indica que usted está ahora en la perspectiva de PHP. Una perspectiva de Eclipse es un entorno personalizado que se orienta hacia una tarea determinada. Hay ciertas cosas que son útiles para tener visibles al mismo tiempo la codificación en PHP, por ejemplo, y otras cosas que podrían ser útiles tener visibles cuando la codificación sea en Java, y aún otros que son útiles durante la depuración. La perspectiva de PHP es la perspectiva que se utiliza para escribir código PHP.

Añadir un archivo a la Fuente del Proyecto

Ahora que hemos creado el proyecto, tenemos que añadir algún simple código. Vamos a empezar por añadir un archivo PHP. Para ello, selecciona Archivo-Nuevo PHP-Archivo. El 'Nuevo archivo PHP aparecerá la ventana. Esta ventana le permite seleccionar el nombre del archivo y el contenedor. El contenedor es el directorio donde desea crear el archivo, y el nombre del archivo es, así, el nombre del archivo, con la extensión php.

Figura 5. Ventana del nuevo archivo PHP.

eclipsephp08 por javiom1.

Una vez que haya entrado el nombre del directorio y el nombre del archivo, haga clic en Finalizar para completar el proceso. El editor de PHP publicará un nuevo archivo vacío que se abrirá para su edición.

Conclusion

Creación de un simple script

Para empezar, abra un archivo PHP existente en un proyecto existente. Para este tutorial, vamos a estar utilizando el proyecto creado en el tutorial 'Creación de un proyecto con PHPEclipse' pero se puede utilizar cualquier proyecto de PHP que le gustara.

Para empezar, vamos a crear un simple script que tiene algunas variables y una estructura de control. Esto nos dará algo interesante para ver en el depurador. Empezaremos con el siguiente código:

 

$output = '';
for ($i=0;$i<10;$i++) { $output .= 'Loop'.$i.' '; echo $output; }

Este programa es muy simple, pero que nos permitirá ver las variables y las instrucciones paso a paso a través de un programa.

Configuración del Depurador

Antes de empezar la depuración, tenemos que configurar algunas opciones para que PHPEclipse y XDebug sepan dónde encontrar diversos componentes.

Especificar el camino del intérprete de PHP.

Para empezar, debemos especificar la ruta del intérprete de PHP. Esto puede variar dependiendo de su sistema. Para los sistemas basados en Windows, se trata de una ruta a un archivo llamado php.exe. Para los sistemas Linux, se trata de una ruta a un archivo llamado simplemente php. Para sistemas Linux, está a menudo en /usr/bin/php. Para especificar la ruta del intérprete de PHP, seleccione “Preferencias” de la ventana de menú desplegable. Abrir hasta el PHPEclipse, seleccione y haga clic en XDebug. En el panel de configuración derecho que aparece, introduzca su puerto de depuración y el camino a su intérprete de PHP. El puerto por defecto para depurar con XDebug es el 9000, pero su sistema de configuración puede ser diferente. Para verificar que es 9000 el puerto correcto, cree un fichero con la función phpinfo(), acceda a la página y compruebe el valor de xdebug.remote_port. El valor de xdebug.remote_port debe coincidir con el valor del puerto de depuración.

phpeclipse-win-pref por ti.

Figura 1. XDebug panel de configuración

xdebugsetup por ti.

Cuando haya introducido los valores adecuados, haga clic en el botón Aceptar.

Creación de la configuración de depuración

Ahora que ya hemos configurado XDebug, tenemos que crear una configuración de depuración. Esto indicará la forma en que Eclipse iniciará la depuración para su proyecto. Para hacer esto, seleccione "Abrir Diálogo de depuración" del menú desplegable “Run”. Se le presentará una lista de temas que puede depurar. Haga doble clic en la entrada titulada "Script PHP XDebug”. Esto creará una nueva configuración y le permitirá especificar las opciones necesarias. Puede indicar un nombre para la configuración de la depuración y, a continuación, debe especificar el nombre del archivo que debe ser ejecutado para propósitos de depuración. En este caso, es el nombre del archivo “index.php”.

Figura 2. Depurar la ventana de configuración

eclipsephp10 por ti.

Cuando haya seleccionado el archivo correspondiente, haga clic en el botón Debug para iniciar la depuración. Después de que el programa haya terminado, usted debería ver la ventana de la consola en la parte inferior de la pantalla. Éste le indicará el estado de su script (terminado en este caso), y la salida por debajo de la misma (loop0 loop0 Loop1 loop0 Loop1 Loop2 loop0 Loop1 Loop2 Loop3 loop0 Loop1). Habrá creado con éxito una configuración de depuración y estamos dispuestos a utilizar la herramientas de depuración para analizar sus scripts.

 

debugbreakpoint por ti.

 

 

Añadir un Breakpoint

Basta con que aplique ejecutar nuestro script y ver, que la salida no es demasiado útil - podemos hacerlo desde la línea de comandos, o a través del navegador web. El verdadero poder en la depuración proviene de la habilidad de fijar puntos de interrupción y paso a paso a través de scripts. Un breakpoint es - un punto en su secuencia de comandos en el que le gustaría romper su continuidad -. ¿Qué va a pasar con el intérprete de PHP? seguirá con normalidad hasta que llega a la línea especifica en su programa. Cuando se llega a esa línea, se detendrá y esperarrá sus instrucciones sobre la forma de proceder.

Para establecer un corte (breakpoint), mueva el ratón sobre la barra gris en el extremo izquierdo del margen. Haga clic derecho al lado de la línea en la que desea romper, y seleccione la opción 'Toggle Breakpoint ". Asegúrese de seleccionar "Toggle Breakpoint 'y no' Toggle Breakpoint PHP '- este último no funcionará. Después de alternar la ruptura, una bola azul aparecerá en el margen gris al lado de la línea que has especificado.

Figura 3. Breakpoint Debug

Una vez que haya añadido su Breakpoint, seleccione Debug History-myFirstProject (o cualquier nombre que dio a su configuración) del menú Ejecutar.

Ahora, para ver nuestra información de depuración, tenemos que cambiar a nuestras perspectivas de depuración. Para ello, selecciona la ventana de menú desplegable y seleccione Abrir perspectivas de depuración.

Hay una serie de cosas que usted notará en la perspectiva de depuración. La parte superior izquierda tiene una lista de scripts que se encuentran actualmente en ejecución. Hay botón en este panel que puede controlar la ejecución del script. El primer botón en el diagrama es el botón Reanudar. Al hacer clic en este botón hará que la ejecución de su script se reanude hasta que llegue a la próxima ruptura. El segundo botón que está marcado es el botón Terminar. Este botón hará que la ejecución de su script concluya. Los tercer y cuarto botones son los botones Step y Step Into. Estas medidas causan una ejecución línea a línea de su script. La diferencia entre ambas es que el paso en el botón ampliará la información cualquiera de las funciones llamadas desde cada línea, y el paso sobre el botón tratará las llamadas a funciones como una línea. Por lo tanto, si usted no está preocupado por las funciones que están llamados a una determinada línea, usted debe usar más Step. Si quieres ver exactamente lo que las funciones están haciendo, usted debe usar Step Into.

A la derecha del panel de depuración verá un panel con una pestaña Variables y una ficha de interrupción. En la pestaña de variables, verá una lista de variables que están en el ámbito actual. Nuestro script utiliza dos variables - $i y $output.. Usted notará que una serie de variables de entorno también figuran en la lista. Junto con la lista de variables, se puede ver los valores de dichas variables. Esto es útil si desea realizar un seguimiento de lo que ocurre a una variable en el transcurso de la ejecución de su script. Al hacer clic en la pestaña de interrupción le permitirá ver una lista de interrupción que se han establecido para su script. Desde esta pestaña, puede a su vez controlar una ruptura y los fuera de control desmarcando las casillas que están junto a ellas. También hay botones para eliminar los breakpoints seleccionados y eliminar a todos los de interrupción de su script.

Debajo, usted verá un editor que contiene el archivo fuente actual que está siendo ejecutado. Una flecha azul sigue en general la ejecución de su script. En el fondo es una ventana que muestra la consola donde se puede ver la salida de su script.

Figura 4. La perspectiva de depuración:

debugperspective2 por ti.

 

Ver como se ejecuta nuesro script.

Ahora que estamos familiarizados con la perspectiva de depuración, podemos rastrear la ejecución de nuestro programa y controlar las variables. Haremos un clic por clic a través de unas líneas de nuestro programa. Para rastrear a través de la ejecución del bucle, haga clic en el botón 'Step Into'

debugperspective por ti.

 

  1. En nuestro estado inicial, verá que la flecha azul apunta a la primera línea de nuestro script. Esta línea inicializa la variable $output. Dado que la línea no se ha ejecutado todavía, verá los dos $i y $output sin inicializar.

     

  2. Después de un clic del botón Step Into, la flecha azul se mueve a la primera línea de nuestro bucle for. Una vez más, esta línea no ha sido ejecutada, por lo que $i es que no se ha iniciado todavía, pero la salida de dólares ya se ha inicializado''.

     

  3. Después de dos clics más, estamos en nuestro bucle for. Las variables ventana nos dice que $i es 0 y $output es todavía sin inicializar''.

     

    Después de hacer clic, a $output se le ha asignado el valor 'loop0 ».

     

  4. Después de hacer clic en otro, $i se incrementa y ahora tiene el valor 1. La consola muestra la salida 'loop0”, que es el resultado de la eco declaración. La flecha azul ha vuelto a la línea superior del bucle for, listo para otra iteración.

    Al continuar de esta manera, podemos ver los valores de cada variable como la ejecución de nuestro script avanza y podemos controlar la salida después de cada línea del guión ..


Conclusión

Ahora está más familiarizado con los procesos básicos de depuración sobre un script en local, utilizando la herramienta de depuración de PHPEclipse, XDebug.

Depurando un Proyecto sobre un servidor Web Server Utilizando PHPEclipse y XDebug

Contenidos

Este tutorial supone que usted ya ha completado el tutorial de depuración local. Por lo tanto, usted ya ha creado un proyecto y han creado un simple script que puede ser examinado durante la depuración y que una ruptura que ya se ha insertado. También se da por supuesto que usted tiene un servidor web funcional que tiene el módulo XDebug instalado.

Configurando el depurador

xdebugsetup por javiom1.

Antes de empezar la depuración, tenemos que configurar algunas opciones para que PHPEclipse y XDebug sepan dónde encontrar diversos componentes.

 

Especificar el camino del intérprete de PHP.

Para empezar, debemos especificar la ruta del intérprete de PHP. Esto puede variar dependiendo de su sistema. Para los sistemas basados en Windows, se trata de una ruta a un archivo llamado php.exe. Para los sistemas Linux, se trata de una ruta a un archivo llamado simplemente php. Para sistemas Linux, está a menudo en /usr/bin/php. Para especificar la ruta del intérprete de PHP, seleccione “Preferencias” de la ventana de menú desplegable. Abrir hasta el PHPEclipse, seleccione y haga clic en XDebug. En el panel de configuración derecho que aparece, introduzca su puerto de depuración y el camino a su intérprete de PHP. El puerto por defecto para depurar con XDebug es el 9000, pero su sistema de configuración puede ser diferente. Para verificar que es 9000 el puerto correcto, cree un fichero con la función phpinfo(), acceda a la página y compruebe el valor de xdebug.remote_port. El valor de xdebug.remote_port debe coincidir con el valor del puerto de depuración.

Cuando haya introducido los valores adecuados, haga clic en el botón Aceptar.

Creación de la configuración de depuración

Ahora que ya hemos configurado XDebug, tenemos que crear una configuración de depuración. Esto le indicará la forma en que Eclipse iniciará el depurador para su proyecto. Para hacer esto, seleccione "brir Diálogo de depuración" del menú desplegable “Run”. Se le presentará una lista de temas que puede depurar. Haga doble clic en la entrada titulada "Remote XDebug PHP script”. Esto creará una nueva configuración y le permitirá especificar las opciones necesarias. Puede indicar un nombre para la configuración de depuración y, a continuación, debe especificar la identificación de cadenas Ide. Puede seleccionar lo que desee para esta cadena. Se recomienda que la mantenga una corta y memorable (que pueda recordar). Asegúrese de que usted recuerde este valor para más tarde. En nuestro ejemplo, usaremos la cadena “firstproject.”

Figura 2. Depurar la ventana de configuración.

Una vez que haya seleccionado un nombre de configuración y ha optado por una cadena de identificación, haga clic en la pestaña Pathmap. En la pestaña pathmap, especifique cómo traducirá Eclipse la ruta local para los nombres de ruta remota nombres. Para asignar una ruta, haga clic en el botón Nuevo para crear un nuevo mapa. Si su servidor web está situado en el mismo sistema que Eclipse está funcionando, estas rutas de acceso deberán ser iguales. En cualquier caso, en virtud de ruta local introducirá el camino hacia la raíz de su proyecto en la máquina que Eclipse se está ejecutando. En una ruta remota, escriba la ruta a la raíz de su proyecto en la máquina del servidor Web se está ejecutando.

Figura 3. Especificación del Mapa de Ruta local a la máquina remota

Una vez que haya especificado el correcto pathmap, pulse el botón Debug para iniciar el depurador.

Usted notará que a diferencia cuando se depura en local, La depuración remota no se inicia automáticamente con su script. Simplemente comienza la depuración y comienza la escucha de conexiones en el puerto de depuración. Para empezar nuestro script, abra en un navegador web, y haga lo siguiente

Figura 4. Ejecutora nuestro script en el navegador web

Esto no es realmente empezar a depurar su script. No hay ninguna relación en este momento entre su script y el depurador de Eclipse. Tenemos que decirle de alguna manera a PHP que busque el depurador de Eclipse, y ejecute las instrucciones para su procesamiento. Para hacer esto, tenemos que añadir una variable a la cadena de solicitud. Esta variable se llama XDEBUG_SESSION_START y su valor debe coincidir con la protección e Ide String que hemos indicado antes. En este caso, nuestra nueva URL será:

http://127.0.0.1/myFirstProject/index.php?XDEBUG_SESSION_START=firstproject.

Una vez que ha añadido la variable de la URL, presione enter para iniciar la depuración.

Ahora ya puede reanudar el proceso de depuración como se ha demostrado en la depuración local de este tutorial. El proceso es el mismo, excepto que en lugar de la salida que se muestra en la consola se muestra en el navegador que ha cargado su script.

Conclusion

Ya está listo para empezar a depurar scripts remotos PHP usando PHPEclise y XDebug.

 

Como recomendación, os invito a instalar el pluggin xdebug para Firefox. os recordará que tenéis que hacer cambios en el fichero /etc/php.ini (en Linux, o su correspendiente en windows php.ini) con la siguiente configuración (cambiar a gusto):

 

Os recomiendo crear el script:


<?php
 phpinfo();
?>

Con el objeto de que comprobar que  xdebug.auto_trace está On, tanto el local como en master.

http://www.linux-party.com/imagenes/articles/xdebug_pluggin_firefox.jpg

Si hay un fichero configuración xdebug.ini, generalmente en /etc/php.d/:

; Enable xdebug extension module

zend_extension=/usr/lib/php/modules/xdebug.so

; zend_extension_ts=php_xdebug.dll

xdebug.remote_enable=1

xdebug.auto_trace=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.idekey=default

 

Si no existe dicho fichero, editar el fichero /etc/php.ini e insertarlo.

Habrá que reiniciar los servicios web:

# /etc/init.d/httpd restart

Comentarios   

+1 # GraciasLoEncontré 10-11-2012 16:03
Gracias, esto es todo lo que necesitaba, LinuxParty es una gran web
Responder | Responder con una citación | Citar

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Encuesta de LinuxParty

Crees que la robotización traerá acarreada...

Que la gente abandonará las ciudades para vivir en los pueblos. - 16.4%
Que en los pueblos la robotización se frenará por los humanos - 13.1%
Que a la gente no les gustarán sus vecinos robots. - 3.3%
Que los negocios pequeños sufrirán la carencia de clientes humanos. - 9.8%
Que los humanos achacarán su desgracia a los robots y pasará algo grave. - 19.7%
Que los robots se levantarán contra los humanos y nos exterminarán. - 37.7%

Total votes: 61
The voting for this poll has ended on: 30 Sep 2017 - 00:00

Donar a LinuxParty

La mejor forma de darnos las gracias, es hacer una donación.


Tutorial de Linux

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política