web-dev-qa-db-ja.com

XDebugとPHPStormを使用したSymfony2コンソールコマンドのデバッグ

コンソールコマンドを実行するときにXDebugを使用してコードを追跡できるように、PHPStormをどのように構成する必要がありますか?

Webリクエストをデバッグしてコードを追跡できるため、デバッグ構成が正しいことはわかっています。次のような環境変数を設定している限り、通常のphpコマンドラインスクリプトをトレースすることもできます。

export XDEBUG_CONFIG="idekey=my-xdebug"

ただし、Symfony2コンソールコマンド(app/console bundle:console_commandで実行されるコマンド)をトレース/デバッグできません。 PhpStormは接続を認識しますが、実行されているコードを見つけることができないようです。 Webリクエストは問題なく機能するため、ファイルマッピングが正しいことを知っています。

これは可能ですか?

20

SERVER_NAMEとSERVER_PORTを指定する必要があります。また、xdebug.remote_autostartを有効にする必要があります。これを試して:

SERVER_PORT=<Your server port> SERVER_NAME='<Your server name>' php -dxdebug.remote_autostart=On app/console test
21
Sirian

Apache/cgi php.iniだけでなく、php.ini CLIバージョン内でxdebugが有効になっていることを確認してください。

[XDebug]
xdebug.remote_enable = 1
xdebug.remote_Host = 127.0.0.1
xdebug.remote_port = 9000
xdebug.idekey = PHPSTORM
7
d3uter

次のBASHヘルパーコマンドを試すことをお勧めします: https://github.com/torinaki/phpdebug-cli

phpdebugは、ほとんどすべての必要な構成を自動検出するため、環境変数を指定する必要はありません。

ただ走れ:

phpdebug app/console bundle:console_command
1
Dmitry Balabka