コンソールコマンドを実行するときにXDebugを使用してコードを追跡できるように、PHPStormをどのように構成する必要がありますか?
Webリクエストをデバッグしてコードを追跡できるため、デバッグ構成が正しいことはわかっています。次のような環境変数を設定している限り、通常のphpコマンドラインスクリプトをトレースすることもできます。
export XDEBUG_CONFIG="idekey=my-xdebug"
ただし、Symfony2コンソールコマンド(app/console bundle:console_command
で実行されるコマンド)をトレース/デバッグできません。 PhpStormは接続を認識しますが、実行されているコードを見つけることができないようです。 Webリクエストは問題なく機能するため、ファイルマッピングが正しいことを知っています。
これは可能ですか?
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
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
次のBASHヘルパーコマンドを試すことをお勧めします: https://github.com/torinaki/phpdebug-cli
phpdebug
は、ほとんどすべての必要な構成を自動検出するため、環境変数を指定する必要はありません。
ただ走れ:
phpdebug app/console bundle:console_command