IDE Key value disappeared from Values pane

Answered

Numpty question, most likely but...

The IDE Key a connection was waiting for used to appear in the Values pane of debug but now it doesn't and I can't find how to make it reappear. It's so useful for tacking onto the end of a URL when testing.

Show do I get it to show once more?

8 comments
Avatar
Vladimir Luchansky
Comment actions Permalink

Hello,

What key value do you mean exactly?

The one randomly generated that appears within 'Waiting for connection' message?

Could you describe the use case for this value in more details, please?

0
Comment actions Permalink

The use-case is to stop stopping an existing debug session and starting a new one when I can just look at that text and put the number into a URL on an existing page I'm looking at.

Scrshot of text
attached.

0
Comment actions Permalink

@Ge

IDE works fine with ANY key.

I, for example, use xdebug browser extension to set xdebug cookie (not GET/POST parameter like here but COOKIE; as I prefer it this way instead of creating Run/Debug Configuration in PhpStorm and lunch it from there -- gives more freedom + less config from IDE side) together with "phone handle" icon. The IDE-key used there is just "PHPSTORM", but I can put "NETBEANS" or "ECLIPSE" etc there and it will still work.

0
Comment actions Permalink

No. I mean the actual text which conveniently displays what the key IS is no longer showing in the Variables pane so I have to stop and restart a debug session, close the new browser window that gets opened after copying the XDEBUG_SESSION_START string from it and then [asting that string onto the end of the GET url to debug an already open page.

When the IDE key was displayed in the Variables window, which it now no longer is, I could just add the param to the end of any URL I pleased wothout having to stop and restart the session.

I just want to know how to get whatever the key is displayed in the variables pane again.

0
Comment actions Permalink

That's exactly what Andriy means - you can add anything to the URL, for instance ?XDEBUG_SESSION_START=1, and a session will start regardless this value.
Please try.

0
Comment actions Permalink

That doesn't work for me here. If I don't start a debug and put the param on the URL nothing happens, which is expected.

If I start a debug then a new browser window gets opened to e.g. localdomain/somepage?XDEBUG_SESSION_START=12345 and then going to a url in that site with XDEBUG...=anything doesn't hit any breakpoints

 

0
Comment actions Permalink

There is Zero-config approach (that link that I gave before) which requires limited (if not none in ideal case) configuration from IDE side before staring debugging.

As stated in that article, you just need to activate "phone handle" icon (a.k.a. "Run | Start Listening for PHP Debug Connections"). It is what "Debug" button does. Just in case of "Debug" button it activates that icon and opens Debug tool window (to give some feedback that it launched debugging attempt). But in case of only activating that icon manually, the Debug tool window is not visible until debug session is actually established.

I did run tests on my local environment (PhpStorm 2017.1.4 on Windows 10; site served by IIS 10 with PHP 7.0.20; xdebug 2.5.5) and all what I had to do is:

  • activate that "phone handle" icon
  • add that ?XDEBUG_SESSION_START=12345 to the end of my URL (alternatively/more convenient for me -- just click "debug" button in the browser that will set the same but via COOKIE)
  • hit the page load (so it sends request to the server)

 

>If I don't start a debug and put the param on the URL nothing happens, which is expected.

Partially correct.

First of all -- you have to tell PhpStorm to start listening for incoming PHP debug connections. 2 ways:

  • launch debug via "Debug" button (which does a lot, not just that)
  • or just use that "phone handle" icon (which does the minimal)

Secondly: in general, there are 3 main ways of initiating debug session (to tell xdebug that it needs to debug this request)

  • 1) configure xdebug to attempt to debug every single request ("xdebug.remote_autostart = 1" in php.ini).
  • 2) pass "debug me" parameter -- the aforementioned "?DEBUG_SESSION_START=12345" in URL (GET parameter or POST) or COOKIE (either bookmarklet or browser extension)
  • 3) place "xdebug_break();" in actual code (programmatic breakpoint)

So yeah -- if you JUST do any of the 3 above (e.g. just adding "?XDEBUG_SESSION_START=12345" to the URL) it will do nothing. Because IDE is NOT listening for debug connections. You also have to tell PhpStorm to listen for incoming connections.

-----

To sum it up: it definitely works -- have been using this since PhpStorm v1 or so (really loooong time). and IDEKEY can be ANYTHING (at very least for PhpStorm).

If it does not work for you .. then it must be some misconfiguration/missing step on your end. The best would be if you can record some screencast/video which would show your setup and illustrate all steps/actions that you do.

0
Comment actions Permalink

Ah that little phone icon thing makes all the difference, not the solution I was after but possibly a more useful one, thanks!

1

Please sign in to leave a comment.