当前位置:  开发笔记 > 编程语言 > 正文

How can I get XDebug to run with PHPUnit on the CLI in Windows using VSCode?

如何解决《HowcanIgetXDebugtorunwithPHPUnitontheCLIinWindowsusingVSCode?》经验,为你挑选了1个好方法。



1> mysti9uemira..:

#2的答案:https : //github.com/felixfbecker/vscode-php-debug/issues/164:所描述的根本问题是,当运行两个php进程时,它混淆了VS Code的调试器。当我读到这篇文章时,我以为是因为每当运行php时,它都会从php.ini中读取数据,并且文件告诉xdebug监听端口9000,这就是为什么如果运行了两个php进程,XDebug就会感到困惑。由此,我看到phpunit使用phpunit选项启动php。然后,我想用一个不同的远程端口启动这个特定的php,以查看它是否解决了挂起的问题,并且做到了。

#1的答案:因此,在VS Code的launch.json中,

一种。添加另一个配置以侦听另一个端口上的XDebug(8000)

    "name": "PHPUnit",
    "type": "php",
    "request": "launch",
    "port": 8000

b。从命令行启动时使用此命令

"C:\xampp\php\.\php.exe" -d xdebug.remote_port=8000 "C:\xampp\php\phpunit"

或者,在phpunit.bat中对其进行更改,使其能够仅在命令行中输入phpunit

笔记:

    尝试--stderr,launch.json中xdebugSettings的多会话,-d xdebug.profiler_enable = on -d xdebug.idekey = VSCODE等不起作用。

    确保-d选项在phpunit选项之前,否则,它将认为这是phpunit而不是php的参数


我在同一台开发服务器上拥有主服务器和客户端类型的两个php cms。基于此答案,我在客户端目录的.htaccess中添加了php_value xdebug.remote_port 9001,默认情况下,该端口在master的端口9000上运行。根据https://github.com/Microsoft/vscode/issues/1616#issuecomment-204303358,我在vscode设置调试配置中为端口9001创建了虚拟项目,并且所有这些都开始工作。非常感谢您保存了我的一天。
推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有