Francisco Javier López Torrijos
Analista Sistemas Informáticos de Gestión
Diseño y Desarrollo Web
Para poder programar con php y ver los resultados necesitamos un servidor web (php), configurado adecuadamente para que sirva las páginas que componen nuestro proyecto.
Puedes encontrar un tutorial de como preparar un servidor local en tu propia máquina Linux aquí [2] , y en una máquina Windows aquí [3]
Para crear nuestros scripts podemos utilizar cualquier editor de texto, pero lo mas recomendable es utilizar un IDE (Entorno de desarrollo Integrado), Aplicación que nos facilita muchas de las tareas a realizar mientras programamos. En nuestro caso utilizaremos eclipse [4] en su perspectiva para php.
Eclipse es una aplicación que funciona con java por lo que tendremos que instalar primero java tanto el jre como el jdk. Puedes encontrar las instrucciones en http://www.webupd8.org/ [5]. Y una versión en castellano aquí [6].
Instalaremos una herramienta de depuración Xdebug [7] Esta herramienta nos permitirá ejecutar nuestros scrips paso a paso para así poder localizar posibles errores que de otra forma serían dificil de encontrar.
Por ultimo utilizaremos una herramienta para generar la documentación de nuestra programación (no es la documentación de usuario), en este caso usaremos apigen [8] si hemos instalado un servidor de php>=5.4 y si hemos instalado un servidor php 7 utilizaremos phpDox [9].
Descargamos eclipse para php de la página oficial [10].
Seleccionamos el paquete adecuado, en mi caso el de php 64bits, y lo descargamos.
Con esto nos descargaremos un archivo comprimido, lo guardamos en una ubicación que nos parezca adecuada (p.e. /home/nuestro usuario/IDE/)
Lo descomprimimos y se crea una carpeta llamada "eclipse" que contiene todo lo necesario para que eclipse funcione, así como el ejecutable (eclipse). Si habéis seguido el ejemplo indicado el ejecutable se encontrará en /home/nuestro usuario/IDE/eclipse/eclipse
La forma mas rápida de descomprimir el archivo es con nautilus, botón derecho sobre el .tar.gz (el archivo comprimido descargado) ->extraer aquí.
Podría resultar interesante crear un lanzador en nuestro escritorio, para lanzar eclipse, puedes ver como aquí [11].
Ahora vamos a instalar Xdebug, esta extensión para php nos permite ver paso a paso la ejecución de nuestros scripts, y así poder encontrar errores de programación mas fácilmente.
Puedes seguir las instrucciones originales [12], o bien seguir estas que se ajustan al resto de instrucciones:
;xDebug Configuration start
zend_extension=/opt/lampp/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so
xdebug.profiler_output_dir = "/tmp/xdebug/"
xdebug.profiler_enable = On
xdebug.remote_enable=On
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.max_nesting_level=256,
;xDebug Configuration ends
No debemos olvidar reiniciar apache para que los cambios surtan efecto
Si habéis optado por instalar xampp, podéis comprobar si todo ha ido bien y si se ha activado correctamente la extensión Xdebug
Desde el manager de xampp se inicia o reinicia apache.
En un navegador visitamos localhost
En el menú superior visitamos la opción de phpinfo, y localizamos la sección de xdebug, deberiamos ver algo como lo siguiente
Partimos de un sitio local creado como se indicó en una entrada anterior de este mismo tutorial, p.e. lopeztorrijos.local
En el menú de eclipse abrimos File>open projects from file system .
Click en el botón Directory y seleccionamos la carpeta donde se ubica nuestro sitio (/home/usuario/www/lopeztorrijos.local
Mantenemos el resto de opciones y pulsamos el botón Finish. De esta forma creamos el proyecto vinculado a los posibles ficheros que tengamos o creemos en nuestro proyecto.
Ahora necesitamos crear la configuración para el servidor del proyecto, para ello abrimos Window > Preferences
En la columna de la izquierda desplegamos el apartado PHP y pulsamos sobre Servers. Click en el botón New.
Server Name : Nombre Descriptivo
Base U.R.L.: Dominio.Local
Document Root: Pulsamos Browse y localizamos la ubicación de nuestro sitio
Pulsamos el botón Next . Nos lleva a la siguiente fase.
En la nueva sección, en el desplegable seleccionamos Xdebug , el resto de opciones las dejamos tal y como aparecen.
Pulsamos sobre Global Settings en la zona superior derecha, y se nos abrirá la configuración global para XDebug. Estas opciones serán compartidas por todos los proyectos
Modificamos las opciones:
Accept remote session (JIT) , y la ponemos a off .
Max array depth, Max children, Max data a los valores que necesitemos.
Output capture , ambas a copy
Pulsamos OK.
y pulsamos Finish.
Y ya tenemos configurado eclipse para trabajar con nuestro servidor local y con la posibilidad de depurar nuestro código, gracias a XDebug.
Ahora comprobaremos que todo funciona como debería.
Tenemos el servidor apache en funcionamiento con el sitio .local para nuestro ejemplo creado.
Hemos instalado XDebug.
Eclipse está instalado y configurado.
En eclipse sobre el proyecto recientemente creado (lopeztorrijos.local, según el ejemplo), pulsamos con el botón derecho del ratón y creamos un nuevo archivo php. Lo llamaremos index.php, en realidad nos da igual el nombre solo es para realizar una prueba.
En este archivo pegamos las siguientes líneas de código php, que simplemente escribe en la ventana de nuestro navegador los números del 0 al 49:
<?php
for($i=0;$i<50;$i++)
{
echo $i."<br>";
}
?>
Guardamos el archivo File > Save
Procedemos a ejecutar nuestro programa en modo depuración
Se nos abrirá una ventana preguntándonos en que modo queremos depurar nuestro programa, en nuestro caso Php web Application, y click en Ok.
Ahora se nos abre un ventana preguntándonos cual es la ruta en el servidor para esta página, fijaos en que entre el nombre de dominio lopeztorrijos.com y el nombre de la página eclipse nos añade el nombre del directorio de nuestro proyecto, debemos eliminarlo
La URL debe quedar como sigue http://lopeztorrijos.local/index.php, ya que sino no encontrará la página
Al dar ok, se abrirá la "perspectiva debug" de eclipse, esto significa que se abre una configuración de ventanas en eclipse que nos muestra información de depuración de nuestro programa (index.php). Si habéis seguido el tutorial exactamente, veréis algo parecido a la siguiente imagen
Os voy a explicar muy superficialmente algunas zonas y como depurar nuestro programa
En rojo:
En azul:
Enlaces
[1] https://secure.php.net/manual/es/index.php
[2] http://www.lopeztorrijos.com/tutoriales/instalar-xampp-como-servidor-local/instalacion-de-xampp-para-linux
[3] http://www.lopeztorrijos.com/tutoriales/instalar-xampp-como-servidor-local/instalacion-de-xampp-para-win
[4] https://eclipse.org
[5] http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html
[6] http://www.lopeztorrijos.com/tutoriales/programacion/java/instalar-linux-java-jre-jdk
[7] https://xdebug.org
[8] http://www.apigen.org
[9] http://phpdox.de/
[10] https://www.eclipse.org/downloads/eclipse-packages/
[11] http://www.lopeztorrijos.com/tutoriales/linux/como-se-hace-en-linux/crear-lanzador-escritorio
[12] https://xdebug.org/docs/install