Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README PHP setup with Xdebug #516

Open
shadydealer opened this issue Oct 20, 2022 · 1 comment
Open

Update README PHP setup with Xdebug #516

shadydealer opened this issue Oct 20, 2022 · 1 comment

Comments

@shadydealer
Copy link

shadydealer commented Oct 20, 2022

I went through the steps of installing xdebug and vdebug to debug my php setup and I couldn't, for the life of me get a debugger session working. I was getting the same error log over and over again:

[60807] Log opened at 2022-10-20 12:14:47.026666
[60807] [Step Debug] DEBUG: Found 'XDEBUG_CONFIG' ENV variable
[60807] [Step Debug] INFO: Connecting to configured address/port: 127.0.0.1:9000.
[60807] [Step Debug] INFO: Connected to debugging client: 127.0.0.1:9000 (through xdebug.client_host/xdebug.client_port). :-)
[60807] [Step Debug] -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" fileuri="{some_file_path}" language="PHP" xdebug:language_version="8.1.10" protocol_version="1.0" appid="60807" idekey="xdebug"><engine version="3.1.5"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[https://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2022 by Derick Rethans]]></copyright></init>

[60807] [Step Debug] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>

[60807] [Step Debug] WARN: 2022-10-20 12:14:47.028073: There was a problem sending 179 bytes on socket 6: Broken pipe.
[60807] Log closed at 2022-10-20 12:14:47.028225

There were 2 reasons:

  1. The VdebugSetupPHP section includes a helper script to start a debugging session:
#!/bin/bash
export XDEBUG_CONFIG="idekey=xdebug"
/usr/bin/php "$@"

howerver, the xdebug docs also state that XDEBUG_SESSION=1 should be set, otherwise the debug session doesn't seem to start. So the php-xdebug script should be:

#!/bin/bash
export XDEBUG_SESSION=1
export XDEBUG_CONFIG="idekey=xdebug" # found out that this is not really needed
/usr/bin/php "$@"
  1. The VdebugSetupPHP section says that we should set our host_port to 9000, but as stated here (I honestly don't understand the why, yet) that is wrong, and should be on a port different than 9000 (like 9003, the default xdebug port) and in the .vimrc we'd need to add the following lines:
let g:vdebug_options = {}
let g:vdebug_options["port"] = 9003 # same as port defined for xdebug

now, starting a debug session with php-xdebug works as expected :)

@letharion
Copy link

These are changes from xdebug 2 to 3, and the instructions haven't been updated yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants