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

最佳答案

PHPStorm提供了一种非常好的方法来执行此操作,而ddev通过自动调试设置使其变得超级简单。

就像使用drupal-composer设置一样,此技术最适合带有Drush的Drupal 8站点。假定将草稿卖给了供应商/草稿/草稿。

This PHPStorm blog post解释了该技术。


在PHPStorm中创建一个服务器(项目设置->服务器)。我的“服务器”名称是d8composer。不管它叫什么,都只需要稍后使用即可。
在PHPStorm服务器配置中,将您的宿主项目目录映射到/ var / www / html:


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


单击“侦听调试连接”按钮。
单击断点,在您知道应该由drush命令命中的位置。
在容器(ddev ssh)中,export PHP_IDE_CONFIG="serverName=d8composer"-当然,您的名字将不同于d8composer。
在容器/var/www/html/vendor/drush/drush/drush uli内(或所需的任何命令)。 PHPStorm将在您的断点处中断。 (当然,您可以通过多种方式执行该命令,但关键是您需要执行回购中附带的Drush版本。


实际上,在早期版本的drupal中,您可以将drush的副本临时放入存储库中,以相同的方式解决映射问题。

请注意,马特·格拉曼(Matt Glaman)也写了有关Xdebug Over the Command Line with DDEV的博客文章

关于php - 如何使用ddev和PhpStorm逐步调试drush命令?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50283253/

10-09 19:09