У меня локальная ddev (на основе докера) PHP Drupal 7 настроенная среда разработки.Я настроил Behat тесты для этого сайта, используя Behat Drupal Extension .
Все файлы контекста Behat и связанная с ним папка поставщика композитора находятся за пределами корневого веб-сайта сайта в папке тестирования.Структура папок выглядит примерно так:
У меня xdebug включен и используется PhpStorm .Я настроил сервер отладки PhpStorm и предоставил правильные пути.
Отладка php кода через браузер работает отлично, отладка CLI команд работает отлично.Моя проблема возникает, когда я пытаюсь отладить весь код во время выполнения тестов Behat через CLI.
В конфигурации PHP-сервера PhpStorm, если я устанавливаю только сопоставления путей для папки testing
, я могу отлаживать любой код в пределахпапка тестирования и нет проблем с завитком.Я, очевидно, не могу отладить код в папке public_html
, потому что я не установил сопоставления путей.Когда я устанавливаю сопоставления путей для папок testing
и public_html
, я могу отлаживать весь код, но любое определение шага behat, которое включает вызов Mink curl_exec()
на локальный URL сайта, зависает от 3 до 10минут!
Моя цель ...
Чтобы иметь возможность отлаживать весь php-код в папках testing
и public_html
при выполнении тестов Behat без curl_exec()
висит.
То, что я пробовал ...
У меня PhpStorm Debug Max одновременных подключений установлено на 10, и я попробовал 20.
Здесьмои настройки удаленной конфигурации xdebug:
xdebug.remote_addr_header => no value => no value
xdebug.remote_autostart => On => On
xdebug.remote_connect_back => Off => Off
xdebug.remote_cookie_expire_time => 3600 => 3600
xdebug.remote_enable => On => On
xdebug.remote_handler => dbgp => dbgp
xdebug.remote_host => host.docker.internal => host.docker.internal
xdebug.remote_log => no value => no value
xdebug.remote_mode => req => req
xdebug.remote_port => 9000 => 9000
Все перечисленные ниже действия привели к зависанию curl:
- Установите
xdebug.remote_autostart=0
и запустите сеанс Xdebug, передав XDEBUG_CONFIG=idekey=PHPSTORM
переменная окружения с моей командой behat И - НЕ передает ни cookie, ни параметр GET с вызовом curl.
- Передаёт те же idekey какпараметр cookie и GET с вызовом curl
- Передача другого идентификатораключ в качестве файла cookie и параметр GET с помощью вызова curl
Любая помощь приветствуется !!