Debugging 如何使用Xdebug和phpStorm调试Symfony命令?

Debugging 如何使用Xdebug和phpStorm调试Symfony命令?,debugging,docker,phpstorm,xdebug,Debugging,Docker,Phpstorm,Xdebug,首先,让我们开始说我在Docker容器中运行整个项目,这意味着我没有在主机上安装任何东西 因此,我正在尝试调试一个Symfony命令,它是一种CLI脚本,不同之处在于它不是被称为php script.php,而是被称为bin/console命令 控制台文件中有什么?见下文: #!/usr/bin/env php <?php use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Component\Conso

首先,让我们开始说我在Docker容器中运行整个项目,这意味着我没有在主机上安装任何东西

因此,我正在尝试调试一个Symfony命令,它是一种CLI脚本,不同之处在于它不是被称为
php script.php
,而是被称为
bin/console命令

控制台
文件中有什么?见下文:

#!/usr/bin/env php
<?php

use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Debug\Debug;

set_time_limit(0);

/** @var Composer\Autoload\ClassLoader $loader */
$loader = require __DIR__.'/../app/autoload.php';

$input = new ArgvInput();
$env = $input->getParameterOption(['--env', '-e'], getenv('SYMFONY_ENV') ?: 'dev');
$debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(['--no-debug', '']) && $env !== 'prod';

if ($debug) {
    Debug::enable();
}

$kernel = new AppKernel($env, $debug);
$application = new Application($kernel);
$application->run($input);
#/usr/bin/env-php

1) “当我点击调试栏上的“播放”按钮时,”你能更清楚地看到这一点吗?屏幕截图应该会有所帮助。因为。。一方面——要进行调试,您需要单击主/小工具栏(IDE顶部)上的“调试”按钮;但另一方面--调试工具窗口中确实有“播放”按钮。。。该调试会话的bur必须已启动。。。2) 到目前为止,似乎缺少引导功能。。因此,PHP不知道从何处获取父类/已用类
Symfony\Bundle\FrameworkBundle\Command\ContainerWareCommand
.3)也许您应该以不同的方式启动它——例如,通过
artisan
(或者Symfony用于从命令行执行任务的任何东西——抱歉,这里不是Symfony用户)@LazyOne所说的Play,我指的是通过
Shift+10
组合键激活的按钮,是的,它位于主/小工具栏上。。“播放”按钮只有“运行/执行”而不是“调试”。。所以它还没有调试--它甚至不能执行它。到目前为止--缺少引导逻辑(因为您直接调用该文件可能会绕过所需的逻辑)。@LazyOne除了我在这里链接的指南之外,还有什么指南可以一步一步地设置它吗?
<path_to_symfony>/bin/console quote:notify -d 120 -e <some_email>
<path_to_symfony>/bin/console quote:notify