Hacer debug de php en netbeans usando xdebug en ubuntu 12.04

martes, 17 de diciembre de 2013
Hacer debug o depurar nuestras aplicaciones es algo que nos ahorra mucho tiempo y nos permite ver como funciona nuestra aplicación a detalle, a conntinuacion les mostrare como realizar la instalacion para tener el debug funcionando en php y netbeans usando xdebug, todas las herramientas son gratuitas.

Instalamos la pila lamp(Linux, Apache, Mysql y Php)  en caso de no tenerla abrimos la terminal y escribimos:

sudo apt-get  install lamp-server^ phpmyadmin

Editado(9 de Enero del 2014) Solo como nota, la pila lamp funciona en el siguiente directorio: /var/www  y es necesario darle permisos desde la consola para trabajar libremente, al ser un servidor de desarrollo y pruebas no habrá problemas con los permisos sudo chmod 777 -R /var/www

Una vez instalada instalamos netbeans para ello nos dirigimos al sitio oficial y descargamos el paquete que incluye el jdk y netbeans asi para no tener detalles despues si instalamos solo netbeans, para descargarlo lo hacemos desde aqui, aceptamos los terminos y seleccionamos nuestra version en mi caso 64 bits, para instalarlo abrimos la terminal y tecleamos lo siguiente:

Nos dirigimos a la carpeta donde se haya descargado el archivo:

cd Descargas

Luego para iniciar la instalacion tecleamos y seguimos el asistente:

sudo sh jdk-7u45-nb-7_4-linux-x64.sh

Ya que tenemos netbeans instalado instalaremos el plugin de php ya que por default nos instala solo java asi que abrimos el ide y nos dirigimos al menu Tools -> Plugins y nos dirigimos a la pestaña Available Plugins, en el campo search escribimos "php" (sin comillas) y de la lista que se muestra escogemos la que dice solo "php" hay otros plugins por si ocupamos algun framework pero en mi caso solo instale la de php y pulsamos install, opcionalmente en la pestaña Installed podemos tildar las que dicen java y deactivate.



Una vez instalado netbeans instalamos xdebug para php5, para ello nos dirigimos al centro de software de ubuntu y tecleamos xdebug y luego clic en instalar o bien desde la terminal:

sudo apt-get install php5-xdebug


Ya que tenemos lo necesario procedemos a configurar para que netbeans detecte xdebug, para ello editamos el archivo php.ini


sudo gedit /etc/php5/apache2/php.ini


y le agregamos estas lineas:

zend_extension="/usr/lib/php5/20090626/xdebug.so"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000



Guardamos y reiniciamos apache para ver los cambios:

sudo /etc/init.d/apache2 restart

Creamos un nuevo proyecto en netbeans para probar:



Escribimos algo de php y ponemos un punto de interrupción, para colocar un punto de interrupción basta con dar un clic sobre el numero de linea (sobre el numero), para iniciar el debug basta con darle clic al botón de debug (al que esta a lado del botón de play verde) y ver lo que sucede.


Las capturas son tomadas de diferentes equipos y son solo ilustrtivas.

Bien es todo espero que a alguien le sirva :)

2 comentarios:

  1. buenas!
    soy nuevo en esto de PHP, y tengo un problemilla.
    Instalé todos los elementos de LAMP y no consigo que corra el proyecto, en el navegador me dice:
    "Not Found
    The resquested URL nombre_del_proyecto/index.php was not not found on this server"
    Apache está funcionando y no se ya que es lo que puede fallar.

    He visto en muchos sitios la ubicacion var/www , pero NetBeans no me deja utilizarla

    Cuando intento hacer el debug NetBeans me dice "Waiting for Connection(netbeans-xdebug)"

    Estoy usando Ubuntu en una máquina virtual por si sirve aportar ese dato.

    No consigo ver lo que falla y espero que la información aportada pueda servir para ver una solución.

    Gracias y un saludo


    ResponderEliminar
    Respuestas
    1. Intenta dando permisos al directorio principal desde la terminal:

      sudo chmod 777 -R /var/www

      al ser un servidor de desarrollo no hay problema con lo de los permisos, tal vez por eso netbeans no deje utilizar el directorio del proyecto, añadiré unas capturas mas al post por si son de ayuda.

      Eliminar

 

Joefay. Powered By Blogger © 2012 Bombeli | Theme Design: ooruc