Отладка команд консоли Symfony2 с помощью XDebug и PHPStorm

Как мне настроить PHPStorm, чтобы я мог отслеживать свой код с помощью XDebug при запуске команд консоли?

Я знаю, что у меня правильная настройка отладки, потому что я могу отлаживать веб-запросы и отслеживать код. Я также могу отслеживать регулярные скрипты командной строки php, пока я устанавливаю переменную среды следующим образом:

export XDEBUG_CONFIG="idekey=my-xdebug"

Однако я не могу отслеживать/отлаживать консольные команды Symfony2 (те, которые выполняются с app/console bundle:console_command). PhpStorm видит соединение, однако, похоже, он не может найти код, который выполняется. Я знаю, что сопоставление файлов верно, потому что веб-запросы работают безупречно.

Возможно ли это?

Ответ 1

Вы должны предоставить 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

Ответ 2

Убедитесь, что вы включили xdebug внутри версии CLI php.ini не только apache/cgi php.ini.

[XDebug]
xdebug.remote_enable = 1
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000
xdebug.idekey = PHPSTORM

Ответ 3

Я предлагаю попробовать следующую команду помощника BASH: https://github.com/torinaki/phpdebug-cli

phpdebug основном автоматически определяет все необходимые конфигурации, и вам не потребуется phpdebug переменные окружения.

Просто беги:

phpdebug app/console bundle:console_command