En los secretos de depuracion de CakePHP y Aptana

Llevo unos dias pegandome con la configuración de depuración de mi Ubuntu 9.04 con CakePHP y Aptana.

Por fin ya lo he resuelto todo, despues de tener varios problemas con la configuración de Apache (los módulos y las rutas del VirtualNameHost) y la configuración de la aplicación que estoy desarrollando (la conexión con la BD estaba mal configurada).

Total, que ahora ya puedo depurar el codigo de mi backend y de mi frontend a la vez. Unos cuantos trucos:

  • En el servidor, modificar el fichero global php.ini para incluir la variable remote_autostart=1, de forma que cualquier ejecución de comando PHP invoque al depurador.
  • En Aptana, configurar el puerto de XDebug para que acepte peticiones de cualquier host (Preferences> Editor> PHP> Debug> XDebug> Configure> Accept Remote Session (JIT)> any), sin tener que confirmarlas (Preferences> Editor> PHP> Debug> Break on first line when an unknown remote session>Never)
  • En Aptana, mapear las rutas del servidor Web  adecuadamente para que apunten al codigo de backend y de frontend.
  • En el codigo del frontend, cuando se progresa una peticion al backend se deberian progresar tambien los parametros de depuración (XDEBUG_SESSION, etc). Esto no es imprescindible, y ni siquiera he verificado que funcione, pero igual es necesario, sino el backend no sabrá el id de sesión de depuración de Xdebug.