doumingo04696
2016-07-15 09:42
浏览 111
已采纳

Drupal 8:使用XDebug和PHPStorm调试测试 - 逐步完成

I'm trying to debug my Drupal 8 tests with XDebug, but if I run them with XDebug switched on, I cannot step into the test. I execute the following command:

vendor/bin/phpunit -c core modules/permissions_by_term/tests/src/Kernel/SelectTermTest.php

PHPUnit reports me here:

"Can't find a source position. Server name 'localhost' doesn't exist."

My settings in the PHP.ini file are looking as follows:

xdebug.remote_enable=true xdebug.profiler_enable=0 xdebug.idekey=PHPSTORM xdebug.max_nesting_level=256 xdebug.remote_autostart=true

Can anybody share here some experience?

图片转代码服务由CSDN问答提供 功能建议

我正在尝试使用XDebug调试我的Drupal 8测试,但如果我在XDebug打开时运行它们,我 无法进入测试阶段。 我执行以下命令:

vendor / bin / phpunit -c core modules / permissions_by_term / tests / src / Kernel / SelectTermTest.php \ n

PHPUnit在此报告我:

“无法找到源位置。服务器名称'localhost'不会 存在。“

我在PHP.ini文件中的设置如下所示:

xdebug .remote_enable = true xdebug.profiler_enable = 0 xdebug.idekey = PHPSTORM xdebug.max_nesting_level = 256 xdebug.remote_autostart = true

有人可以在这里分享一些 经验?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • douqianke7467 2016-08-05 08:46
    已采纳

    I got it to run. I had to do some more settings.

    First, create a new PHP Remote Debug under the Run Configurations (The ZeroConfiguration didn't work for me). Define a Server with the name you want (here "TestServer") and enter PHPSTORM as Ide Key.

    Also see the Jetbrains documentation: https://confluence.jetbrains.com/display/PhpStorm/Debugging+PHP+Web+Applications+with+Run+Debug+Configurations

    Enable the option "Break at first line in PHP scripts" in under the RUN menu .

    It can be possible that you need to override the file mapping. (In my case PHPStorm is not able to detect file mapping automatically) (See: https://www.jetbrains.com/help/phpstorm/10.0/override-server-path-mappings-dialog.html). It's is within same dialog where the server was created.

    Start the Remote Debug Session with clicking on the corresponding icon.

    Then you should be able to run PHPUnit with this command:

    PHP_IDE_CONFIG="serverName=TestServer"  XDEBUG_CONFIG="idekey=PHPSTORM" vendor/phpunit/phpunit/phpunit -c YOUPHPUNITXMLCONFIG
    

    Set the PHP_IDE_CONFIG corresponding to your settings.

    Set breakpoints where you want to stop.

    I hope I could help you.

    Nico

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题