使用XDebug和PHPStorm调试Symfony2控制台命令

时间:2014-09-28 04:08:43

标签: php symfony phpstorm

我应该如何配置PHPStorm,以便在运行控制台命令时使用XDebug跟踪我的代码?

我知道调试配置正确,因为我可以调试Web请求并跟踪代码。我也可以跟踪常规的php命令行脚本,只要我设置一个这样的环境变量:

export XDEBUG_CONFIG="idekey=my-xdebug"

但是,我无法跟踪/调试Symfony2控制台命令(使用app/console bundle:console_command运行的命令)。 PhpStorm看到了连接,但是,似乎找不到正在运行的代码。我知道我的文件映射是正确的,因为Web请求完美无缺。

这可能吗?

3 个答案:

答案 0 :(得分:21)

您应该提供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

答案 1 :(得分:7)

确保你已经在php.ini CLI版本中启用了xdebug,而不仅仅是apache / cgi php.ini。

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

答案 2 :(得分:1)

我建议尝试使用以下BASH帮助程序命令: https://github.com/torinaki/phpdebug-cli

phpdebug通常会自动检测所有必需的配置,并且您无需提供环境变量。

只需运行:

phpdebug app/console bundle:console_command