Ver Mensaje Individual
  #23  
Antiguo 09-11-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Finalmente he logrado hacer funcionar el depurador remoto. Bueno, no tan remoto porque es localhost, pero lo importante es que se hace através del servidor web.

Hay que tener en cuenta varios puntos:

1. El workspace de Eclipse debe apuntar a la carpeta contenedora del proyecto. Es decir, si el proyecto está en

C:\Documents and Settings\yomero\Mis documentos\Web\htdocs\miproyecto

entonces el workspace debe ser

C:\Documents and Settings\yomero\Mis documentos\Web\htdocs

No digo que esto sea imperativo, pero si el proyecto no es hijo del workspace, parece dar lata.

2. Como me ha funcionado, es haciendo que el workspace coincida con la carpeta configurada como localhost en apache.

3. Hay que decirle al php que usa apache, que cargue el depurador:

zend_extension_ts=.\extensions\ZendDebugger.dll

Hay que asegurarse que lo encuentre, porque si se pone sólo

zend_extension_ts=ZendDebugger.dll

como en otro tipo de extensiones, no funciona. las extensiones zend parece que hacen caso omiso de la directiva extensions_dir.

4. Para depurar, hay dos opciones:

a) PHP Script
b) PHP Web Page

La primera es la que utiliza directamente el ejecutable php.exe y la segunda es la remota, la que lo hace através del servidor apache.

Hay que configurar una sesión de depuración por cada página con la que deseemos iniciar la depuración.

Para ello se abre el menú Run|Debug... y se selecciona el elemento PHP Web Page. Se añade una configuración de lanzamiento con el botón [+] o desde el menú contextual del elemento.

Se le da un nombre cualquiera a la configuración, por ejemplo,

Pagina Inicio

En File/Project se pone la página a depurar:

/miproyecto/inicio.php

Ahora viene lo interesante. Tal como hemos hecho, en el recuadro que dice URL, aparecerá:

http://localhost/inicio.php

lo cual es erróneo. Como el proyecto está en workspace\miproyecto, la URL debería ser:

http://localhost/miproyecto/inicio.php

Hay dos formas de arreglar esto. Una es cambiando la configuración del Server que aparece en la configuración de la sesión de depuración y poner

http://localhost/miproyecto

en lugar de lo que dice por defecto:

http://localhost

Pero asi, aunque pone la URL correcta, no depura aunque sí ejecuta y despliega el resultado en el navegador integrado correctamente.

La otra manera es poner la URL uno mismo, desactivando la opción de auto generarla.


Con estos pasos he logrado hacer la depuración. Tiene el defecto de que en cada corrida se abre una nueva ventana del navegador, pero bueno, ver la corrida paso a paso, con step-in y step-over, valores de las variables, puntos de corte, etc. bien vale la pena.

// Saludos
Responder Con Cita