如何为JetBrains PhpStorm 2020.1配置Xdebug?

如何为JetBrains PhpStorm 2020.1配置Xdebug?,phpstorm,xdebug,xdebug-3,Phpstorm,Xdebug,Xdebug 3,所以,我很高兴用PhpStorm调试我的PHP代码-直到Windows严重损坏。。。而我的后备体制并没有我想象的那么好(让这成为我们许多人的一个教训:-() 下面是我的php.ini的相关部分: [PHP] [Xdebug] ; ---- trying to follow PHP storm's advice zend_extension = "e:\coding\Web_development\php\php\ext\php_xdebug-3.0.1-7.3-vc15-x86_

所以,我很高兴用PhpStorm调试我的PHP代码-直到Windows严重损坏。。。而我的后备体制并没有我想象的那么好(让这成为我们许多人的一个教训:-()

下面是我的
php.ini
的相关部分:

[PHP]

[Xdebug]

; ---- trying to follow PHP storm's advice

zend_extension = "e:\coding\Web_development\php\php\ext\php_xdebug-3.0.1-7.3-vc15-x86_64.dll"

xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_host = 127.0.0.1
;xdebug.remote_port = 9000
;xdebug.remote_mode = req
xdebug.idekey="xdebug"

; ----------   previously worked 
;xdebug.remote_enable=1
;xdebug.remote_host=127.0.0.1
;xdebug.remote_port=9000
;xdebug.remote_autostart=1
;xdebug.remote_handler=dbgp
;xdebug.idekey="xdebug"
;xdebug.remote_log=m:\xdebug.log
;xdebug.profiler_enable=0
;xdebug.profiler_enable_trigger=0
;;xdebug.profiler_output_dir="F:\DropBox\programs\xampp\htdocs\_PHP_profile"
;xdebug.profiler_output_name=cachegrind.out.%s.%t
下面是PhpStorm所说的:

但是这些设置中的大部分实际上并不存在于-似乎其中一些设置不再相关/受支持


那么,有人能发布php storm 2020.1的
php.ini
的相关部分吗?

这里吸引你的升级不是PhpStorm,它是Xdebug:Xdebug 3.0,并且已经彻底修改了设置。如屏幕截图中的一条消息所述

看来PhpStorm的检查脚本还没有完全更新,所以它建议将新旧设置混为一谈

最重要的变化是:

  • 新的
    xdebug.mode
    设置一次切换一整套设置,而不必记住正确的组合。因此,一些设置不再需要
  • 默认端口现在是9003而不是9000,因为其他一些流行软件使用相同的端口
  • 为了更加清晰,许多剩余设置都已重命名
查看您的旧配置:

zend\u extension=“e:\coding\Web\u development\php\php\ext\php\u xdebug-3.0.1-7.3-vc15-x86\u 64.dll”
;这告诉PHP加载XDebug扩展
;请注意,文件名包括版本号,确认您正在使用v3
xdebug.remote\u enable=1
;现在由xdebug.mode=debug表示
xdebug.remote_host=127.0.0.1
;重命名为xdebug.client_主机
xdebug.remote_port=9000
;不再是默认值!请保留此设置,或告诉PhpStorm使用端口9003
xdebug.remote\u autostart=1
;替换为xdebug。使用_请求启动_=是
xdebug.remote_handler=dbgp
;不再需要,因为只有一个有效值
xdebug.idekey=“xdebug”
;仍受支持,但通常不需要
xdebug.remote\u log=m:\xdebug.log
;替换为xdebug.log
xdebug.profiler_enable=0
;现在由xdebug.mode=debug表示
xdebug.profiler\u enable\u trigger=0
;现在由xdebug.mode=debug表示
xdebug.profiler\u output\u dir=“F:\DropBox\programs\xampp\htdocs\\u PHP\u profile”
;调试时不需要
xdebug.profiler\u output\u name=cachegrind.out.%s.%t
;调试时不需要
因此,我应该相信您的新配置如下所示:

zend\u extension=“e:\coding\Web\u development\php\php\ext\php\u xdebug-3.0.1-7.3-vc15-x86\u 64.dll”
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.remote_port=9000;或9003,但应与PhpStorm中的设置相匹配
xdebug.start_with_request=yes
xdebug.idekey=“xdebug”
xdebug.log=m:\xdebug.log

请阅读消息内容。消息上写着:“此设置已更改,请参阅上的升级指南”。简而言之:您使用的是Xdebug v3,它使用的设置与Xdebug v2不同。您只需查看升级指南并用另一个(不同名称)替换某些配置参数即可.2注意:Xdebug 3自2020.3起就得到支持。它仍然可以与以前的版本兼容,没有问题……但是Xdebug会抱怨IDE发送的旧(v2)参数+PhpStorm将显示类似的屏幕(因为它只检查v2参数)。相关问题/答案(我做过):还有。谢谢。我没有意识到这一点。现在是这里的
睡觉时间
,但我会在早上整理好并奖励答案。这个优秀的答案应该会帮助这个问题的其他未来读者。请留下healthy@IMSoP如果您想查看这些语言的语法颜色,应该使用
lang ini
而不是
ini
代码块。显然
lang-
前缀是
ini
syntax HighLigterVM所必需的,我升级到了PHP dtorm 2020.3,现在它可以工作了!感谢你,说实话,我甚至不知道存在验证检查;当然没有必要通过验证检查让XDebug工作,所以我会选择它“忽略它,看看迁移指南中的说明是否有效”。@LazyOne啊,谢谢;这似乎是新的降价集成中的一个bug,但不管怎样,现在看起来好多了:)