私の状況は次のとおりです。
PHP 5.4.9-4ubuntu2.2、nginx/1.2.6、php5-fpm、Xdebug v2.2.1 を搭載した VM (Ubuntu サーバー 13.04) があります。
PhpStorm 6.0.3 (VM にデプロイ) を使用してアプリを開発しています。
私の問題は、デバッグ セッションを開始しようとするたびに、IDE が Web サーバーから接続要求を取得しない (したがって、セッションが開始されない) ことです。
xdebug 構成に関する多くの推奨事項を調べましたが、有用なものは何も見つかりませんでした。
私が最近気付いたのは、ブラウザーを介して自分で XDEBUG_SESSION Cookie を設定すると (FireCookie に感謝)、アプリをデバッグできるということです。
問題は、別のプロジェクトで同じ IDE 構成を使用していて、別の CentOS ベースの VM (lighttpd を使用) にデプロイされていることです。問題なく動作します。
現在のプロジェクトをそのような VM (Web サーバーを NginX に変更) にデプロイしようとしましたが、問題なく動作しました (残念ながら、その VM を失い、構成を確認できません:()。
だから...ここに私の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 構成 (/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
どんなアイデアでも大歓迎です。ありがとう!
編集:
私が試したもう1つのことは、phpからセッションを開始することであり、セッションCookieが問題なく作成されたことを確認しました...
2回目の編集:
問題がどこにあるかを見つけたと思います:URI。
構成パラメーターなどを試すために別のスクリプトを作成しました (はるかに単純なもの)。
したがって、最終的に問題は、クエリパラメーター (つまり:)XDEBUG_SESSION_START=14845
がスクリプトに到達していないことであると考えました。
問題は、フォームの開始 URI/images/P/P1/P1010044-242x300.jpg
です。/dispatch.php/images/P/P1/P1010044-242x300.jpg
いくつかの仮想ホスト構成を通じて、それを同様のものにルーティングし、残りのURIをパラメーターとして使用できるはずです。だから...私は解決策自体を見つけていませんが/dispatch.php
、しばらくの間それを行う実行可能な回避策(開始URLを指す)があります。ありがとう