如何使用Xdebug和phpStormdebuggingSymfony命令?

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

有这个我正在尝试debugging一个Symfony命令,这是一种CLI脚本,它不会被称为php script.php而是作为bin/console command

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); 

我有Xdebug安装和configuration,我也phpStormconfiguration,这意味着使用浏览器(和扩展启用/禁用)我可以debugging任何我想要的。

通常,这是从控制台(bash)执行命令的方式:

 <path_to_symfony>/bin/console quote:notify -d 120 -e <some_email> 

选项是可选的,这意味着我可以调用相同的:

 <path_to_symfony>/bin/console quote:notify 

它将双向工作。 我正在使用这里的文档来debugging这样的命令。 现在,我正在设置IDE来debuggingSymfony命令:

  • 进入Run/Debug Configuration
  • 点击添加button(小绿+符号)
  • selectPHP脚本
  • 将其命名为SF Command
  • 在文件框我写bin/console
  • 在参数框我写了quote:notify (这是我的命令)

但IDE首先说: Error: file not specified or invalid ,然后当我尝试执行命令说它不是一个有效的configuration。 (也注意到应该是错误的小“X”)

在这里输入图像说明 在这里输入图像说明

我在这里错过了什么? 我可以在这里得到一些帮助吗? 我正在使用最新版本的phpStorm。