Plugin PHPeclipse en Debian

1
80405

Cómo instalar el plugin de Eclipse: PHPeclipse, en GNU / Linux (Debian)

1. Introducción

Este tutorial pretende explicar paso a paso como instalar el plugin PHPeclipse. En concreto la versión snapshot-RC1 del 2004-01-19 15:00.

Este plugin funciona para la versión 2.x de Eclipse.

Con este plugin podemos conseguir que Eclipse sea un buen entorno de desarrollo para nuestros proyectos PHP.

2. Entorno

  • Hardware: Portátil Ahtex Signal X-9500M (Centrino 1.6 GHz, 1024 MB RAM, 60 GB HD).
  • Sistema Operativo: GNU / Linux, Debian Sid (unstable), Kernel 2.6.3, KDE 3.2
  • Eclipse 2.1.2 instalado en /opt/eclipse
    Para invocar Eclipse se utiliza:

    # /opt/eclipse/eclipse -data /src/php

    Con esto estamos definiendo el directorio /src/php como directorio de trabajo. Será en este directorio donde guardemos todos los proyectos de PHP.

  • Apache 2.0.48 instalado en /usr/local/apache2
  • PHP 4.3.4 instalado en /usr/local/php4
  • MySQL 4.1.1 instalado en /usr/local/mysql
    Para saber como se instaló el entorno (MySQL, Apache, PHP) ver el tutorial ‘Como instalar MySQL, Apache y PHP en GNU / Linux (Debian)’.

Supondremos que todos los archivos que descargamos de Internet los guardaremos en /download.

3. Instalación

  • Descargamos PHPeclipse de la página
    http://sourceforge.net/project/showfiles.php?group_id=57621.
    En esta página vemos que tenemos bastantes archivos para descargar, en nuetro caso elegiremos bin-snapshot-wampp2-RC1 del 2004-01-19 15:00.
    Lo bueno que tiene los archivos snapshot (ya sea el src o el bin) es que contienen a todos los demas, por lo que sólo necesitaremos bajarnos este archivo.
    Aunque la documentación que podemos encontrar en http://phpeclipse.de/tiki-index.php?page=SnapShots habla de como instalar este archivo en Windows XP, no debe preocuparnos ya que el plugin, al fin y al cabo es Java, y por tanto multiplataforma 😉 Tampoco debe preocuparnos no haber instalado Apache, MySQL y PHP con wampp. De hecho, en este tutorial se verá como instalar PHPeclise, en un entorno que no se montó con wampp.
  • Descomprimimos el archivo dentro de los plugins de Eclipse.
    #cd /opt/eclipse/plugin
    # unzip
    /download/bin-snapshot-wampp2-RC1.zip
  • Ahora ejecutamos Eclipse y vemos que ya tenemos soporte para PHP (podemos comprobarlo mirando como en Window –> Preferences tenemos nuevas entradas para configurar PHP y PHP SQL).

4. Configuración de Ficheros

Debemos editar el fichero /usr/local/apache2/conf/httpd.conf y añadir (yo lo he añadido en la línea 585):

#
# Alias para desarrollar con Eclipse
#
Alias /eclipse/ "/src/php/"
<Directory "/src/php/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Con esto conseguimos que Apache tome los ficheros de /src/php/ cuando pongamos en el navegador http://localhost/eclipse/. Esto nos permite editar los ficheros con Eclipse y no necesitar copiarlos dentro de Apache (como mucho bastará con reiniciar Apache).

5. Configuración de Eclipse

Hay bastantes opciones para configurar, pero vamos a ver las imprescindibles para que el plugin funcione correctamente.

5.1. Window –> Preferences –> PHP

  • Show preview on editor load (win32 only): desactivamos la casilla puesto que estamos en Linux y no en Windows.
  • Usar navegador externo: marcamos o desmarcamos según queramos (La verdad es que las opciones que están dentro de ‘Configuración Webserver’ todavía no se para que
    valen, así que si alguien lo sabe, que por favor me mande un correo y me lo cuenta 😉
  • Comando navegador externo: konqueror {0}. Con esto se abrirá el konqueror, pero podemos usar mozilla o cualquier otro navegador.
  • Localhost: http://localhost:8081.
    Ojo, yo especifico el puerto 8081, porque para poder ejecutar Apache desde un usuario que no es root tengo configurado en el httpd.conf que Apache escuche en el puerto 8081 (sólo root puede ejecutar procesos que escuchen por debajo del 1024). Hubiera usado el 8080 pero ese ya lo tiene cogido el Tomcat 😉
  • Alias (httpd.conf): Es el nombre del alias que hemos definido en el fichero httpd.conf (ver apartado ‘Configuración de Ficheros’).
  • DocumentRoot: la raíz donde estarán nuestros ficheros PHP.
  • Run in background mode: PHPeclipse nos da la facilidad de arrancar, parar y reiniciar el Apache. Con esta opción estamos especificando que estas acciones deben ejecutarse en background (segundo plano).
  • Arrancar Apache: especificamos los parámetros que hay que pasar para arrancar Apache.
  • Parar Apache: especificamos los parámetros que hay que pasar para parar Apache.
  • Reiniciar Apache: especificamos los parámetros que hay que pasar para reiniciar Apache.
  • Apache: especificamos la localización donde se encuentra el ejecutable del Apache. A este ejecutable será al que se le pasen los parámetros que hemos definido en las opciones anteriores para arrancar, parar y reiniciar el Apache.
  • Run PHP command: especificamos la localización donde se encuentra el programa para ejecutar PHP en línea de comandos.
  • Arrnacar MySQL: especificamos los parámetros que hay que pasar a MySQL para arrancarlo.
  • MySQL: especificamosla localización donde se encuentra el ejecutable de MySQL. A este ejecutable será al que se le pasen los parámetros que hemos definido en la opción anteriores para arrancar MySQL.

5.2. Window –> Preferences –> PHP –> Installed
Interpretes

Aquí debemos especificar, al menos, un intérprete de php. Si no lo hacemos, luego no podremos ejecutar las páginas PHP desde Eclipse.

Para añadir un intérprete basta con pulsar al botón ‘Add’, y en la ventana que nos aparece poner el interprete de php que tenemos en el sistema:

5.3. Window –> Preferences –> PHP –> PHP Parser

Aquí debemos especificar que parseador de PHP vamos a utilizar mientras editamos los ficheros con Eclipse.

Si escogemos el parseador Interno (como es mi caso) obtenemos la ventaja de que al salvar el fichero PHP, si este tiene algún error de sintaxis, se marcará la línea donde está
el error,. Además se añadirá una entrada a la vista Tasks, indicando que tenemos un error por arreglar.

Por otro lado podemos escoger el parseador externo. En este caso cuando salvemos un fichero PHP, se invocará el parseador que hemos indicado en la casilla ‘Parser command’ y la salida de este comando se mostrará en la vista ‘PHP Console’

6. Probando PHPeclipse

Una vez tenemos todo configurado vamos a probar a crear un proyecto, con un fichero PHP, y ejecutarlo.

6.1. Crear un proyecto PHP

Pinchamos ‘File –> New –> Other …’.

Seleccionamos ‘PHP –> PHP Project’, y pulsamos el botón ‘Next’.

Le damos un nombre al proyecto, y pulsamos el botón ‘Finish’.

Eclipse debería tener un aspecto similar a:

Si no tenemos abierta al perspectiva de PHP, la podemos abrir con ‘Window –> Open Perspective –> Other … –> PHP’.

6.2. Crear un fichero PHP

Pinchamos ‘File –> New –> PHP File’. Le damos nombre al fichero y pulsamos el botón ‘Finish’.

Ahora Eclipse debería tener un aspecto similar a:

6.3. Ejecutando el fichero PHP

Si examinamos el código que se nos a generado automáticamente al crear el fichero, veremos que no hace nada.
Para darle un poco más de chica al código añadiremos una llamada a phpinfo() justo antes del switch. El código debería quedar:

...
function f1() {
}
phpinfo();
switch($func) {
...

Ahora podemos ejecutar el fichero mediante Run –> Run As –> PHP Application.

La salida de la ejecución nos aparecerá en la vista ‘Console’.

Si al ejecutar nos encontraremos con el siguiente error:

Que no cunda el pánico porque podemos arreglarlo fácilmente, y seguro que los chicos de PHPeclipse ya se han dado cuenta y lo tienen listo para la siguiente versión.

El caso es que necesitamos editar el fichero /opt/eclipse/plugins/net.sourceforge.phpeclipse.debug.ui_1.0.4/plugin.xml y cambiar la línea 86:

class="net.sourceforge.phpdt.internal.debug.ui.launcher.PHPApplicationShortcut"

por

class="net.sourceforge.phpdt.internal.debug.ui.launcher.PHPLaunchShortcut"

Después de hacer este cambio no deberíamos tener ningún problema para ejecutar el fichero de prueba.

7. Como depurar con PHPeclipse

7.1. Instalar DBG

Para poder depurar necesitamos una extensión de PHP que no es propia de PHPeclipse. Esta extensión la podemos descargar de: http://dd.cron.ru/dbg/downloads.php.
En esta página seleccionaremos el archivo con la versión compilada para Linux (dbg-2.11.23-Linux-i386.tar.gz).

En http://dd.cron.ru/dbg/installation.php podemos encontrar información de como instalar esta extensión de PHP. Los pasos a seguir son:

  • En primer lugar debemos descomprimir el archivo dbg-2.11.23-Linux-i386.tar.gz, y copiar la librería que nos interesa en el directorio de extensiones de PHP. Al descomprimir el archivo vemos que hay varios ficheros con el nombre dbg.so-x.x.x.
    Donde las x son el número de versión de PHP que tenemos intsaldo. En nuestro caso el fichero que deberemos copiar será dbg.so-4.3.3RC1.

    # cd /download
    # tar -xzf dbg-2.11.23-Linux-i386.tar.gz
    # cp dbg-2.11.23-Linux-i386/dbg.so-4.3.3RC1 /usr/local/php4/lib/php/extensions/dbg.so
  • Ahora damos de alta la extensión. Para ello editamos el fichero /usr/local/php4/lib/php.ini y añadimos las siguientes líneas:
    Al final del resto de la extensiones (en mi caso en la línea 578):

    extension=dbg.so

    Al final del fichero:

    [debugger]
    debugger.enabled = true
    debugger.profiler_enabled = true
    debugger.JIT_host = clienthost
    debugger.JIT_port = 7869
  • También es necesario modificar la entrada extension_dir para indicar cual es el directorio donde están las extensiones. Para ello cambiaremos:
    extension_dir = "./"

    por:

    extension_dir = "/usr/local/php4/lib/php/extensions/"

Para comprobar que está correctamente configurado, podemos reiniciar el Apache y volver a ejecutar la página PHP de prueba con la llamada a phpinfo(). En la salida deberá aparecer

7.2. Configurar Eclipse

Cuando estamos ejecutando Eclipse sobre Linux necesitamos una pieza más para que PHPeclipse se integre correctamente con Eclipse al depurar.

Esta librería nos la proporciona Fernando Vicente y Fernando Lozano. El archivo linux.zip lo podemos descargar de http://www.alfersoft.com.ar/phpeclipse/#Linux.

Para instalarla basta con descomprimir el archivo que nos hemos descargado, de forma que el fichero libEnvironment.so quede dentro de /opt/eclipse/plugins/net.sourceforge.phpeclipse.debug.core_1.0.4/os/linux/x86.

# cd /opt/eclipse/plugins/net.sourceforge.phpeclipse.debug.core_1.0.4/os
# unzip /download/linux.zip

Ahora podemos poner breakpoints y depurar nuestro código PHP con el Eclipse.

7.3. Problemas con la depuración

Lamentablemente al término de este tutorial, todavía no he conseguido hacer una depuración correctamente.

El problema con el que me encuentro es que no consigo que la depuración se pare al encontrar un breakpoint, con lo que la depuración no sirve de mucho.

Por favor si alguien sabe como resolver este punto, que se ponga en contacto conmigo (mailto:alejandropg@autentia.com).

Estaré enormemente agradecido 🙂

8. PHP SQL

Esta parte del plugin podemos conectarnos a nuestras bases de datos desde Eclipse, de forma que podemos lanzar consultas, examinar la estructura, los datos, …

En nuestro caso lo utilizaremos para conectarnos con el gestor de base de datos MySQL, que tenemos instalado.

8.1. Configuración del entorno

Para poder conectarnos con MySQL lo primero que necesitamos es el driver de conexión a MySQL. Este driver es el que permite conectarnos a una base de datos concreta, de forma que si quisiéramos conectarnos a Oracle necesitaríamos el driver de conexión con Oracle.

Descargar el driver de
http://www.mysql.com/downloads/api-jdbc-dev.html.
Escogemos el fichero tar.gz.

Descomprimimos el driver.

# cd /opt
# tar -xzf /download/mysql-connector-java-3.1.1-alpha.tar.gz

8.2. Configuración de Eclipse

Es imprescindible configurar la pantalla que encontramos en Window –> Preferences –> PHP SQL –> Connection:

  • Default User name: es el nombre por defecto que se va a utilizar para conectar a la base de datos.
  • Connect: URL de conexión a la base de datos. En nuestro caso estamos diciendo que la conexión es por JDBC, que el gestor de base de datos es mysql, que la máquina donde
    reside el gestor de base de datos es localhost, y que la base de datos a la que nos vamos a conectar es mysql (esta es una base de datos propia de MySQL, que sólo usaremos para ilustrar este ejemplo).
  • Driver: nombre completo (paquete incluido) de la clase Java que implementa el driver.
  • Type: El tipo de base de datos. Es una cadena que identifica el tipo de conexión.
  • Driver filename: archivo .jar donde se encuentra la clase que hemos especificado en el campo Driver.

8.3. Usando PHP SQL

Para usar PHP SQL pordemos abrir la perspectiva correspondiente (Window –> Open Perspective –> Other … –> PHPEclipse SQL Perspective).

Cuando abrimos la perspectiva por primera vez, tendrá el siguiente aspecto:

Para añadir una nueva conexión a base de datos, pinchamos con el botón derecho sobre la vista Database Bookmarks, y pinchamos sobre New Bookmar …

Nos aparece la siguiente pantalla:

En esta pantalla vemos que tenemos como valores por defecto los que introdujimos al configurar la conexión de PHP SQL (podemos cambiarlos si fuera necesario). Tenemos que rellenar el resto de campos:

  • Bookmark Name: el nombre que le vamos a dar a esta conexión. Por ejemplo localhost_mysql (nombre del host donde reside el gestor de base de datos + nombre de la base de datos a la que nos conectamos).
  • Password: la clave para el usuario root.
  • Schema: para este ejemplo no es necesario poner nada.

Pulsamos Finish.

En la vista Database Bookmarls nos aparece la conexión que acabamos de crear. Pulsamos botón derecho sobre ella pulsamos Connect. Si todo está correcto debería conectarse a la base de datos sin probelma.

Ahora podemos lanzar consultas y aprovechar todas las ventajas que nos proporciona el plugin.

9. Sobre el autor

Alejandro Pérez García

Dir. Implantación y Rendimiento

mailto:alejandropg@autentia.com

Autentia Real Business Solutions S.L.

http://www.autentia.com

Alejandro es socio fundador de Autentia y nuestro experto en Java EE, Linux y optimización de aplicaciones empresariales. Ingeniero en Informática y Certified ScrumMaster. Seguir @alejandropgarci Si te gusta lo que ves, puedes contratarle para darte ayuda con soporte experto, impartir cursos presenciales en tu empresa o para que realicemos tus proyectos como factoría (Madrid). Puedes encontrarme en Autentia: Ofrecemos servicios de soporte a desarrollo, factoría y formación.

1 COMENTARIO

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad