Как включить xdebug с помощью nginx?

Моя ситуация следующая:

У меня есть виртуальная машина (Ubuntu server 13.04) с PHP 5.4.9-4ubuntu2.2, nginx / 1.2.6, php5-fpm и Xdebug v2.2.1.I '

Я занимаюсь разработкой приложения с использованием PhpStorm 6.0.3 (которое я развернул на ВМ).

Моя проблема заключается в том, что всякий раз, когда я пытаюсь начать сеанс отладки, IDE никогда не получает запрос на подключение от веб-сервера (и, таким образом, сеанс никогда не запускается).

Я просмотрел множество рекомендаций по настройке xdebug и не нашел ничего полезного.

Недавно я понял, что, если я сам установлю файл cookie XDEBUG_SESSION через браузер (спасибо FireCookie), я смогу отладить свое приложение ... так что мое предположение есть »Что-то удерживает веб-сервер от отправки куки обратно клиенту.

Дело в том, что яЯ использую ту же конфигурацию IDE в другом проекте, который развернут на другой виртуальной машине на базе CentOS (с lighttpd), и он работает просто отлично.

Я попытался развернуть мой текущий проект на такой виртуальной машине (изменив веб-сервер на NginX), и он работал нормально (к сожалению, я потерял эту виртуальную машину и могуПроверьте конфигурацию :().

Так вот'Мой конфиг 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

Любая идея будет высоко ценится. Спасибо!

РЕДАКТИРОВАТЬ:

Еще я попробовал запустить сеанс с php и увидел, что cookie сеанса был создан без проблем ...

2-е редактирование:

Я думаю, что нашел, где проблема: URI.

Я написал другой скрипт, чтобы попробовать параметры конфигурации и прочее (гораздо более простой), и он сработал!

Так что в конце концов я понял, что проблема в том, что параметры запроса (т.е.XDEBUG_SESSION_START=14845) не доходили до моего сценария.

Проблема в моем начальном URI, который имеет вид/images/P/P1/P1010044-242x300.jpg, Через какую-то конфигурацию виртуального хоста я смогу перенаправить его на что-то подобное/dispatch.php/images/P/P1/P1010044-242x300.jpgи используйте оставшуюся часть URI в качестве параметров. Так что ... я не имеюЯ не нашел решение само по себе, но теперь у меня есть жизнеспособный обходной путь (указывая мой начальный URL на/dispatch.php), который сделает это на некоторое время. Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос