我应该如何配置PHPStorm,以便在运行控制台命令时使用XDebug跟踪我的代码?
我知道调试配置正确,因为我可以调试Web请求并跟踪代码。我也可以跟踪常规的php命令行脚本,只要我设置一个这样的环境变量:
export XDEBUG_CONFIG="idekey=my-xdebug"
但是,我无法跟踪/调试Symfony2控制台命令(使用app/console bundle:console_command
运行的命令)。 PhpStorm看到了连接,但是,似乎找不到正在运行的代码。我知道我的文件映射是正确的,因为Web请求完美无缺。
这可能吗?
答案 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