私の状況は以下の通りです:nginxでxdebugを有効にするには?
私はPHP 5.4.9-4ubuntu2.2、nginxの/ 1.2.6とVM(Ubuntuのサーバ13.04)、のphp5-FPMとはXdebug v2.2.1を持っています。
私はPhpStorm 6.0.3(私はVMにデプロイします)を使ってアプリケーションを開発しています。
私の問題は、デバッグセッションを開始しようとするたびに、IDEはWebサーバーから接続要求を取得しない(したがって、セッションが開始されない)ことです。
私はxdebugの設定に関する多くの推奨事項を見て、役に立たないものは何も見つかりませんでした。
私はXDEBUG_SESSIONクッキーをブラウザ(Thanks FireCookie)で自分で設定すると、私のアプリをデバッグすることができます...私の推測では、ウェブサーバーがクッキーをクライアントに送り返すことを防ぐものがあります。
私は別のプロジェクトで同じIDE設定を使用していますが、別のCentOSベースのVM(lighttpdを使用)にデプロイされています。うまく動作します。
は、私は(nginxのにウェブサーバを変更する)ようにVMに私の現在のプロジェクトを展開しようとしましたが、それはオールライト働いていた(残念ながら、私はその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
ご了承ください。ありがとう!
編集:私が試した
もう一つは、PHPからセッションを開始したと私はセッションクッキーが問題なく作成されたことがわかりました...
第二編集:
私は思うI問題がどこにあるのかを知る:URI。
私は設定パラメータやものを試してみるために別のスクリプトを書いています(ずっと簡単です)。
結局のところ、クエリパラメータ(つまり、XDEBUG_SESSION_START=14845
)がスクリプトに届かないという問題が発生したと思いました。
問題は私の開始URIであり、形式は/images/P/P1/P1010044-242x300.jpg
です。いくつかの仮想ホスト構成を通して、それを/dispatch.php/images/P/P1/P1010044-242x300.jpg
のようなものにルーティングし、残りのURIをパラメータとして使用できるはずです。だから...私は解決策自体を見つけられませんでしたが、今は実行可能な回避策(私の開始URLを/dispatch.php
に指しています)がしばらくそれを行います。ありがとう