¿Cómo habilitar xdebug con nginx?

Mi situación es la siguiente:

Tengo una máquina virtual (servidor Ubuntu 13.04) con PHP 5.4.9-4ubuntu2.2, nginx / 1.2.6, php5-fpm y Xdebug v2.2.1.

Estoy desarrollando una aplicación utilizando PhpStorm 6.0.3 (que implemento en la máquina virtual).

Mi problema es que, cuando intento iniciar una sesión de depuración, el IDE nunca recibe una solicitud de conexión del servidor web (y, por lo tanto, la sesión nunca comienza).

Revisé muchas recomendaciones sobre la configuración de xdebug y no encontré nada útil.

Lo que me di cuenta recientemente es que si configuro la cookie XDEBUG_SESSION a través del navegador (Gracias a FireCookie) puedo depurar mi aplicación ... así que supongo que hay algo que impide que el servidor web envíe la cookie al cliente.

La cuestión es que estoy usando la misma configuración IDE en un proyecto diferente, que se implementa en una máquina virtual basada en CentOS diferente (con lighttpd), y funciona bien.

Intenté implementar mi proyecto actual en dicha VM (cambiando el servidor web a NginX) y funcionó bien (Desafortunadamente, perdí esa VM y no puedo verificar la configuración :().

Entonces ... aquí está mi configuración de NginX:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    server_name localhost;

    location / {
        try_files $uri $uri/ /dispatch.php;
    }

    #
    location ~ \.php$ {
        root /var/www/bresson/web;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index  dispatch.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www/$fastcgi_script_name;
        include fastcgi_params;
        #fastcgi_pass   127.0.0.1:9009;
    }

}

config fpm (/etc/php5/fpm/pool.d/www.conf):

listen = /var/run/php5-fpm.sock

xdebug.ini:

zend_extension=/usr/lib/php5/20100525/xdebug.so
xdebug.remote_port=9000
xdebug.remote_enable=On
xdebug.remote_connect_back=On
xdebug.remote_log=/var/log/xdebug.log

Cualquier idea será muy apreciada. ¡Gracias!

EDITAR:

Otra cosa que intenté fue iniciar una sesión desde php y vi que la cookie de sesión se creó sin ningún problema ...

2ª Edición:

Creo que encontré dónde está el problema: la URI.

Escribí otra secuencia de comandos para probar los parámetros de configuración y otras cosas (una mucho más simple), ¡y funcionó!

Así que eventualmente me di cuenta de que el problema era que los parámetros de consulta (es decir:XDEBUG_SESSION_START=14845) no estaban llegando a mi guión.

El problema es mi URI inicial, que es de la forma/images/P/P1/P1010044-242x300.jpg. A través de alguna configuración de host virtual debería poder enrutarlo a algo parecido/dispatch.php/images/P/P1/P1010044-242x300.jpg, y usar el resto de la URI como parámetros. Entonces ... no he encontrado una solución per se, pero ahora tengo una solución viable (apuntando mi URL de inicio a/dispatch.php) que lo hará por un tiempo. Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta