Como ativar o xdebug com o nginx?

Minha situação é a seguinte:

Eu tenho uma VM (Ubuntu Server 13.04) com PHP 5.4.9-4ubuntu2.2, nginx / 1.2.6, php5-fpm e Xdebug v2.2.1.

Estou desenvolvendo um aplicativo usando o PhpStorm 6.0.3 (que eu implanto na VM).

Meu problema é, sempre que tento iniciar uma sessão de depuração, o IDE nunca recebe uma solicitação de conexão do servidor da Web (e, portanto, a sessão nunca é iniciada).

Analisei muitas recomendações sobre a configuração do xdebug e não encontrei nada útil.

O que eu percebi recentemente é que se eu definir o cookie XDEBUG_SESSION eu mesmo através do navegador (Obrigado FireCookie) eu posso depurar meu aplicativo ... então meu palpite é que há algo impedindo o servidor web de enviar o cookie de volta para o cliente.

O fato é que estou usando a mesma configuração IDE em um projeto diferente, que é implementado em uma VM diferente baseada no CentOS (com lighttpd), e funciona muito bem.

Tentei implantar meu projeto atual em tal VM (mudando o servidor para NginX) e funcionou bem (infelizmente perdi essa VM e não consigo verificar a config :().

Então ... aqui está minha configuração do 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;
    }

}

fpm config (/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

Qualquer ideia será muito apreciada. Obrigado!

EDITAR:

Outra coisa que tentei foi iniciar uma sessão do php e vi que o cookie da sessão foi criado sem nenhum problema ...

2ª edição:

Acho que encontrei onde está o problema: o URI.

Eu escrevi outro script para testar os parâmetros de configuração e outras coisas (muito mais simples), e funcionou bem.

Então, eventualmente, percebi que o problema era que os parâmetros de consulta (ou seja:XDEBUG_SESSION_START=14845) não estavam chegando ao meu roteiro.

O problema é o meu URI inicial, que é da forma/images/P/P1/P1010044-242x300.jpg. Através de alguma configuração de host virtual, eu deveria ser capaz de direcioná-lo para algo parecido/dispatch.php/images/P/P1/P1010044-242x300.jpge use o resto do URI como parâmetros. Então ... Eu não encontrei uma solução por si só, mas agora eu tenho uma solução viável (apontando minha URL inicial para/dispatch.php) que vai fazer isso por um tempo. obrigado

questionAnswers(1)

yourAnswerToTheQuestion