How to configure Xdebug for JetBrains PhpStorm 2020.1?

时光总嘲笑我的痴心妄想 提交于 2021-02-10 14:16:32

问题


So, I was quite happily debugging my PHP code with PhpStorm - until Windows became severely corrupted ... and my backup regime turned out to not quite as good as I had thought (let that be a lesson to many of us :-( )

Here's the relevant part of my 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

And, here's what PhpStorm says :

BUT much of that does not actually exist at https://xdebug.org/docs/all_settings - as if some of those settings are no longer relevant/supported.

So, can anyone post the relevant [Xdebug] portion of php.ini for PHP storm 2020.1 ?


回答1:


The upgrade that's catching you out here is not PhpStorm, it's XDebug: XDebug 3.0 came out a couple of weeks ago, and has completely overhauled the settings. As mentioned in one of the messages in your screenshot there is an upgrade guide on the XDebug site

It looks like PhpStorm's checking script isn't fully updated yet, so it's recommending a confusing mixture of old and new settings.

The most important changes are:

  • The new xdebug.mode setting toggles a whole bunch of settings at once rather than having to remember the right combination. Some settings are simply no longer needed because of this.
  • The default port is now 9003 instead of 9000, because of some other popular software using the same port.
  • A lot of remaining settings have been renamed to be clearer.

Looking down your old config:

zend_extension = "e:\coding\Web_development\php\php\ext\php_xdebug-3.0.1-7.3-vc15-x86_64.dll"
   ; this tells PHP to load the XDebug extension
   ; note that the file name includes the version number, confirming that you're using v3
xdebug.remote_enable=1 
   ; now implied by xdebug.mode=debug
xdebug.remote_host=127.0.0.1 
   ; renamed xdebug.client_host
xdebug.remote_port=9000 
   ; no longer the default! either keep this setting, or tell PhpStorm to use port 9003
xdebug.remote_autostart=1 
   ; replaced with xdebug.start_with_request=yes
xdebug.remote_handler=dbgp 
   ; no longer needed, as there was only one valid value
xdebug.idekey="xdebug" 
   ; still supported, but not usually needed
xdebug.remote_log=m:\xdebug.log 
   ; replaced by xdebug.log
xdebug.profiler_enable=0 
   ; now implied by xdebug.mode=debug
xdebug.profiler_enable_trigger=0 
   ; now implied by xdebug.mode=debug
xdebug.profiler_output_dir="F:\DropBox\programs\xampp\htdocs\_PHP_profile" 
   ; not needed for debugging
xdebug.profiler_output_name=cachegrind.out.%s.%t 
   ; not needed for debugging

So your new config should I believe look like this:

zend_extension = "e:\coding\Web_development\php\php\ext\php_xdebug-3.0.1-7.3-vc15-x86_64.dll"
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.remote_port=9000 ; or 9003, but should match the setting in PhpStorm
xdebug.start_with_request=yes
xdebug.idekey="xdebug"
xdebug.log=m:\xdebug.log


来源:https://stackoverflow.com/questions/65280429/how-to-configure-xdebug-for-jetbrains-phpstorm-2020-1

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!