使用DBGP代理用xdebug调试PHPUnit测试

使用DBGP代理用xdebug调试PHPUnit测试,phpunit,xdebug,phpstorm,Phpunit,Xdebug,Phpstorm,我们使用DBGP代理使xdebug与多个主机一起工作 为了调试页面,我创建了一个运行/调试配置(PHP Web应用程序),并将XDEBUG\u SESSION\u START=mykey添加到开始URL中,如下所示: 然后我按下Run按钮(如果我按下Debug按钮,PHPStorm将添加另一个带有随机值的XDEBUG_SESSION_START),它就会工作 现在,我想调试一些PHPUnit测试,所以我创建了一个“服务器上的PHPUnit”配置。 测试已正确启动,但我无法调试它。当我启动调试时

我们使用DBGP代理使xdebug与多个主机一起工作

为了调试页面,我创建了一个运行/调试配置(PHP Web应用程序),并将XDEBUG\u SESSION\u START=mykey添加到开始URL中,如下所示:

然后我按下Run按钮(如果我按下Debug按钮,PHPStorm将添加另一个带有随机值的XDEBUG_SESSION_START),它就会工作

现在,我想调试一些PHPUnit测试,所以我创建了一个“服务器上的PHPUnit”配置。 测试已正确启动,但我无法调试它。当我启动调试时,PHPStorm会为Xdebug会话生成一个键,而不使用“mykey”

如何强制PHPStorm设置XDEBUG_SESSION_以我想要的值开始?

我尝试创建一个PHP远程调试,如下所示:


启动后,我会运行测试,但PHPStorm会使用随机id启动一个新的Xdebug会话。

我自己没有做过任何“PHPUnit on Server”(曾经,仅在本地),但我认为您可以使用这里描述的方法:(简而言之:在PhpStorm.中激活调试侦听器,然后在需要时通过bookmarklet或浏览器扩展手动激活实际调试会话(或通过将XDEBUG_session_START手动添加到url)浏览器中的调试工作正常,问题来自PHPUnit测试。我无法将XDEBUG_SESSION_START添加到PHPUnit url。我无法使用浏览器访问它们,因此无法使用bookmarklet解决方案。使用“PHPUnit”运行/调试配置时,测试在本地CLI环境中执行。使用“PHPUnit on Server”时…这是通过web界面完成的(通过使用一些参数调用URL)--您应该能够在那里添加您自己的参数。可能您面临的基本问题是“服务器上的PHPUNit”根本不起作用(我的意思是:)?除此之外--没有任何有用的想法。