我试图用XDebug调试我的Drupal 8测试,但是如果我在打开XDebug的情况下运行它们,我就无法进入测试阶段。我执行以下命令:
vendor / bin / phpunit -c core 模块/ permissions_by_term /测试/ SRC /核心/ SelectTermTest.php
PHPUnit在这里报告我:
"无法找到来源位置。服务器名称' localhost'不存在。"
我在PHP.ini文件中的设置如下所示:
xdebug.remote_enable = true xdebug.profiler_enable = 0 xdebug.idekey = PHPSTORM xdebug.max_nesting_level = 256 xdebug.remote_autostart =真
有人可以在这里分享一些经验吗?
答案 0 :(得分:3)
我让它运行。我不得不做更多的设置。
首先,在Run Configurations下创建一个新的PHP Remote Debug(ZeroConfiguration对我来说不起作用)。使用您想要的名称定义服务器(此处为“TestServer”)并输入PHPSTORM作为Ide Key。
另请参阅Jetbrains文档:https://confluence.jetbrains.com/display/PhpStorm/Debugging+PHP+Web+Applications+with+Run+Debug+Configurations
在RUN菜单下启用“PHP脚本中的第一行中断”选项。
您可能需要覆盖文件映射。 (在我看来,PHPStorm无法自动检测文件映射)(参见:https://www.jetbrains.com/help/phpstorm/10.0/override-server-path-mappings-dialog.html)。它位于创建服务器的同一对话框中。
单击相应的图标启动远程调试会话。
然后你应该能够使用这个命令运行PHPUnit:
PHP_IDE_CONFIG="serverName=TestServer" XDEBUG_CONFIG="idekey=PHPSTORM" vendor/phpunit/phpunit/phpunit -c YOUPHPUNITXMLCONFIG
设置与您的设置对应的PHP_IDE_CONFIG。
设置要停止的断点。
我希望我能帮到你。
尼科