Как я могу выполнить пошаговую отладку команды drush с помощью ddev и PhpStorm?
Мне нужно отладить команду drush в проекте ddev, но я не знаю, как это сделать. В ddev v0.18.0 отладчик PhpStorm вначале ломается, но не может найти связанный код.
1 ответ
PHPStorm предоставляет очень хороший способ сделать это, а ddev делает это очень просто с автоматической настройкой отладки.
Этот метод лучше всего подходит для сайта Drupal 8 с встроенным в него драйвером drush, как вы это делаете с настройками drupal-composer. Предполагается, что drush продается в vendor/drush/drush.
Это сообщение в блоге PHPStorm объясняет эту технику.
- Создайте сервер в PHPStorm (Настройки проекта-> Серверы). Мой "сервер" зовут d8composer. Неважно, как вы это называете, вам просто нужно использовать это позже.
- В конфигурации сервера PHPStorm сопоставьте каталог вашего хост-проекта с /var/www/html:
- Нажмите кнопку "Прослушивать отладочные соединения".
Нажмите точку останова в месте, которое, как вы знаете, должно быть затронуто вашей командой drush.
Внутри контейнера (
ddev ssh
),export PHP_IDE_CONFIG="serverName=d8composer"
- Ваш, конечно, будет назван как-то иначе, чем d8composer.- Внутри контейнера
/var/www/html/vendor/drush/drush/drush uli
(или любую команду, которую вы хотите). PHPStorm сломается в вашей точке останова. (Конечно, вы можете выполнить эту команду разными способами, но дело в том, что вам нужно выполнить версию drush, которая продается в репо.
В более ранних версиях drupal вы можете просто временно поместить копию drush в репо, чтобы таким же образом решить проблему с отображением.
Обратите внимание, что Мэтт Глэймэн также написал сообщение в блоге на Xdebug по командной строке с DDEV
Также проверьте PHPStorm и снимите флажок "Игнорировать внешние соединения через незарегистрированные конфигурации сервера".