没有IDEKEY

时间:2018-01-10 14:37:58

标签: php xdebug

我正在努力让xdebug工作,而且我现在无法告诉我是否错过了xdebug或xdebug本身的一些基本组件。我已经访问了很多教程和指南,并且没有运气。

所以我按照以下方式设置我的xdebug配置:

zend_extension=xdebug.so

xdebug.remote_autostart = 1
xdebug.remote_log = /tmp/xdebug.log
xdebug.remote_enable = 1
xdebug.remote_connect_back = 1
#xdebug.remote_host = 192.168.56.1
#xdebug.remote_port = 9000
#xdebug.idekey = xdebug-atom

xdebug.var_display_max_depth = 8

我正在尝试使用PhpStorm和VSCode。在PhpStorm中,当我使用他们的"零配置调试"时,它开始监听,但直接点击页面或使用POSTMAN没有任何影响。我偶尔会在日志中收到以下错误:

I: Checking remote connect back address.
I: Checking header 'HTTP_X_FORWARDED_FOR'.
I: Checking header 'REMOTE_ADDR'.
I: Remote address found, connecting to 192.168.56.1:9000.
E: Time-out connecting to client. :-(

当我在PhpStorm中设置服务器时,它似乎激活并保持连接,但同样,断点没有中断。在VSCode中,它似乎也可以激活和监听,但没有,我在VSCode尝试的日志中看不到任何内容。

当我在POSTMAN中设置XDEBUG_SESSION cookie时,我注意到它会中断,但是从很多教程中,它似乎表明remote_connect_back不需要这样做?如您所见,我已将idekey注释掉。我错了,你确实需要cookie吗?

我怎样才能找出错误的原因?我已经浏览了xdebug文档,与Xdebug相关的PhpStorm文档,而且我不知道有多少博客文章。

1 个答案:

答案 0 :(得分:2)

I: Remote address found, connecting to 192.168.56.1:9000.
E: Time-out connecting to client. :-(

这通常表示没有侦听端口9000,或者防止Xdebug与IDE建立连接的方式存在防火墙。

  

当我在POSTMAN中设置XDEBUG_SESSION cookie时,我注意到了它   休息,但是从这么多的教程中,它似乎表明这不是   remote_connect_back需要什么?如你所见,我有idekey   评论说。我错了,你确实需要cookie吗?

" idekey"如果您只是自己调试自己的应用程序,则无关紧要。它只与DBGp代理有关(这不在本问题的范围内)。只有在CLI上,Xdebug才会关注idekey 设置export XDEBUG_CONFIG="idekey=yourname"。但是,由于您未在此处进行CLI调试,因此其值无关紧要。

xdebug.remote_connect_back仅处理选择要连接的IP,它对Xdebug是否会尝试连接没有任何影响。

要进行连接,需要XDEBUG_SESSION Cookie(或XDEBUG_SESSION_START GET参数),,您可以设置xdebug.remote_autostart,在这种情况下Xdebug无论cookie如何,都会尝试在每个请求上建立与IDE的连接。

请注意,此问题的标题具有误导性。 IDE将与Xdebug建立连接,Xdebug与IDE建立连接。