php Xdebug 3 -设置'xdebug.remote_***'已被重命名,请参阅升级指南

kiz8lqtg  于 2023-06-28  发布在  PHP
关注(0)|答案(5)|浏览(266)

我刚刚在OSX上安装了Xdebug v3.0.0beta1,并试图在PhpStorm 2020.1上使用它,但我得到了这个:
Xdebug:[Config]设置'xdebug.remote_enable'已重命名,请参阅www.example.com上的升级指南https://xdebug.org/docs/upgrade_guide#changed-xdebug.remote_enable(请参阅:https://xdebug.org/docs/errors#CFG-C-CHANGED)Xdebug:[配置]设置'xdebug.remote_host'已被重命名,请参阅www.example.com上的升级指南https://xdebug.org/docs/upgrade_guide#changed-xdebug.remote_host(参见:https://xdebug.org/docs/errors#CFG-C-CHANGED)Xdebug:[配置]设置'xdebug.remote_mode'已被重命名,请参阅www.example.com上的升级指南https://xdebug.org/docs/upgrade_guide#changed-xdebug.remote_mode(参见:https://xdebug.org/docs/errors#CFG-C-CHANGED)Xdebug:[配置]设置“xdebug.remote_port”已重命名,请参阅www.example.com上的升级指南https://xdebug.org/docs/upgrade_guide#changed-xdebug.remote_port
提供的链接只会导致一个有错误的图像。
我的问题是什么是正确的设置,以及在哪里实际更改它们,因为我在我的php.ini文件中没有任何关于xdebug的内容。

4zcjmb1e

4zcjmb1e1#

PhpStorm 2020.3支持XDebug3。有一个关于如何正确更改设置的detailed upgrade guide
在我的情况下(使用Docker),我不得不更改设置
来自:

; v2.*

[Xdebug]
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_connect_back=off
xdebug.remote_host=host.docker.internal

;# 9000 is default (not required to set).
xdebug.remote_port=9000

致:

; v3.*

[Xdebug]
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=host.docker.internal

;# 9003 is now the default (set this for old PhpStorm settings).
xdebug.client_port=9000
vs3odd8k

vs3odd8k2#

Xdebug 3将仅从PhpStorm2020.3版本支持,该版本目前处于EAP阶段(抢先体验计划),将在大约1个月的时间内发布。
目前,您必须坚持使用2020.1 IDE版本的Xdebug 2.9,或者尝试最新的2020.3 EAP版本:https://www.jetbrains.com/phpstorm/nextversion/
最新的EAP #6版本支持Xdebug 3:https://blog.jetbrains.com/phpstorm/2020/11/phpstorm-2020-3-eap-6/
至于Xdebug 3升级,在Xdebug设置(php.ini)方面进行更改-检查此链接:https://xdebug.org/docs/upgrade_guide

如果你愿意,你可以使用你的2020.1 PhpStorm和Xdebug 3--只要正确配置Xdebug 3。

我在Windows 10上使用Xdebug 3.0.0beta1,PHP 7.4 x64工作得很好-请参阅此问题:https://stackoverflow.com/a/64820427/783119
您看到的这些错误表明您的php.ini中仍然有Xdebug 2配置值。

mm5n2pyu

mm5n2pyu3#

我的php -v

PHP 7.2.34-8+ubuntu20.04.1+deb.sury.org+1 (cli) (built: Oct 31 2020 16:57:33) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.34-8+ubuntu20.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v3.0.1, Copyright (c) 2002-2020, by Derick Rethans

我让Xdebug v3与PHPStorm 2020.2.3一起使用,步骤如下:

  1. export XDEBUG_SESSION=PHPSTORM
    1.更新php.init文件
xdebug.extension=/usr/lib/php/20200930/xdebug.so <== path to your xdebug.so file
#xdebug.remote_autostart=1
xdebug.start_with_request=yes
#xdebug.remote_connect_back=1
xdebug.discover_client_host=true
xdebug.remote_cookie_expire_time = 3600
#xdebug.remote_enable = 1
#xdebug.remote_host = localhost
xdebug.client_host=localhost
#xdebug.remote_port = 9000
xdebug.client_port = 9000
xdebug.remote_handler = dbgp
xdebug.idekey=PHPSTORM
xdebug.mode = debug

'#'是旧版本(Xdebug 2.x)
1.重置apache 2:sudo service apache2 restart

f4t66c6m

f4t66c6m4#

在我的例子中,我有PHP Storm 2020.2,并且在IDE端没有任何更改,但是,在服务器端我必须更改一些东西
为了启用Xdebug 3,您需要设置xdebug.mode = debug进行分步调试
在我的特定服务器配置中,我这样设置:

  • /etc/php/7.3/cgi/conf.d/20-xdebug.ini

zend_extension=xdebug.so

  • /etc/php/7.3/cgi/conf.d/21-xdebug-mgs.ini

xdebug.mode = debug
然后在我的网站根目录下的我的. user.ini中,我设置了以下内容:

[xdebug]
xdebug.client_host = "10.0.0.2"
xdebug.client_port = 9001
xdebug.remote_connect_back = false
xdebug.log = '/var/www/clients/client1/web2/web/j39vm36/administrator/logs/xdebug.log'
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.output_dir = '/var/www/clients/client1/web2/web/j39vm36/administrator/logs/'
xdebug.var_display_max_depth = -1
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
6bc51xsx

6bc51xsx5#

我在php. ini/ xdebug.conf中有xdebug.start_with_request = yes,但它需要是xdebug.start_with_request=yes(没有空格)才能真正工作。(macos ventura,php 8.0)

相关问题