如何使用ddev和PhpStorm逐步调试drush命令?

时间:2018-05-11 00:22:44

标签: php drupal xdebug drush ddev

我需要在ddev项目中调试drush命令,但我不知道该怎么做。在ddev v0.18.0中,PhpStorm调试器在开始时中断,但它无法找到相关的代码。

2 个答案:

答案 0 :(得分:2)

PHPStorm提供了一种非常好的方法,而ddev使自动调试设置变得非常简单。

这种技术最适用于Drupal 8网站,其中包含drush-in,就像你使用drupal-composer设置一样。它假定将冲钻卖给供应商/ drush / drush。

This PHPStorm blog post解释了这项技术。

  1. 在PHPStorm中创建服务器(项目设置 - >服务器)。我的服务器"名字是d8composer。你所谓的并不重要,你只需要稍后再使用它。
  2. 在PHPStorm服务器配置中,将主机项目目录映射到/ var / www / html:
  3. server path mappings

    1. 单击"侦听调试连接"按钮。
    2. 点击您知道应该被drush命令命中的地方的断点。

    3. 在容器(ddev ssh)内,export PHP_IDE_CONFIG="serverName=d8composer" - 您的名字当然不会是d8composer。

    4. 在容器/var/www/html/vendor/drush/drush/drush uli内(或任何您想要的命令)。 PHPStorm将在您的断点处突破。 (当然,您可以通过多种方式执行该命令,但关键是您需要执行已经出现在回购中的drush版本。
    5. 在drupal的早期版本中,你实际上可以暂时将一个drush副本放入你的repo中,以同样的方式解决映射问题。

      请注意,Matt Glaman还撰写了一篇关于Xdebug Over the Command Line with DDEV

      的博客文章

答案 1 :(得分:0)

还要选中PHPStorm,然后取消选中“忽略通过未注册的服务器配置的外部连接”。