Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用XDebug和PHPStorm调试Symfony2控制台命令_Php_Symfony_Phpstorm - Fatal编程技术网

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

使用XDebug和PHPStorm调试Symfony2控制台命令,php,symfony,phpstorm,Php,Symfony,Phpstorm,我应该如何配置PHPStorm,以便在运行控制台命令时可以使用XDebug跟踪代码 我知道我的调试配置是正确的,因为我可以调试web请求并跟踪代码。我还可以跟踪常规php命令行脚本,只要设置如下环境变量: export XDEBUG_CONFIG="idekey=my-xdebug" 但是,我无法跟踪/调试Symfony2控制台命令(使用app/console bundle:console\u command运行的命令)。PhpStorm看到了连接,但是,它似乎找不到正在运行的代码。我知道我的

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

我知道我的调试配置是正确的,因为我可以调试web请求并跟踪代码。我还可以跟踪常规php命令行脚本,只要设置如下环境变量:

export XDEBUG_CONFIG="idekey=my-xdebug"
但是,我无法跟踪/调试Symfony2控制台命令(使用
app/console bundle:console\u command
运行的命令)。PhpStorm看到了连接,但是,它似乎找不到正在运行的代码。我知道我的文件映射是正确的,因为web请求可以完美地工作


这可能吗?

确保在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

您应该提供服务器名称和服务器端口。此外,还应启用xdebug.remote\u autostart。试试这个:

SERVER_PORT=<Your server port> SERVER_NAME='<Your server name>' php -dxdebug.remote_autostart=On app/console test
SERVER\u PORT=SERVER\u NAME=''php-dxdebug.remote\u autostart=On-app/console测试

我建议尝试以下BASH helper命令:

phpdebug
主要自动检测所有需要的配置,您不需要提供环境变量

只需运行:

phpdebug app/console bundle:console_command

从xdebug端启用日志记录,并查看它正在运行的文件。。。然后查看您的映射是否正确。您还应该添加
xdebug.remote\u autostart=1
,并确保您的映射在IDE
php-dxdebug.remote\u autostart=On-app/console my:cmd
的调试配置中正确。感谢感谢它工作得很好,你应该检查这个作为工作答案;)@tom10271你是真正的MVP