skip to Main Content

I am trying to debug on my XAMPP using VSCode and didn’t worked. I know there are tons of questions about this and I’ve tried everything I can but still won’t work.

There is really 1 thing weird thou about my xdebug extension.I am currently using PHP v7.4.12 and Xdebug version 3.

I know my Xdebug works on PHP because I viewed phpinfo() and it shows just how I set it. The weird part is among the many of the tutorials out there normally zend_extension = path..,xdebug.remote_enable = 1 and xdebug.remote_autostart = 1 should be enough but when I viewed phpinfo it is as follows below:

enter image description here

I tried to set it with xdebug.remote_port = 9000 and xdebug.remote_host = "localhost" but still won’t work. I even have read about changing localhost to 127.0.0.1 but still didn’t work.

Any help would be appreciated. Here is my launch.json file and php ini file.

php.ini

zend_extension = "C:xamppphpextphp_xdebug.dll"
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_log = "C:xampptmpxdebugxdebug.log"
xdebug.remote_port = 9000
xdebug.remote_host = "127.0.0.1"
xdebug.idekey=VSCODE

launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch current script in console",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "externalConsole": false,
            "port": 9000
        },
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9000
        }
    ]
}

If it is caused maybe due to not setting "pathMappings", anyone can teach me how to use this?

By the way the xdebug.log also doesn’t work

2

Answers


  1. You are using Xdebug v3 but keep using Xdebug v2 config parameters. You need to go through Upgrading from Xdebug 2 to 3 Guide and adjust your settings.

    Xdebug v3 uses different config params than Xdebug v2 (your phpinfo() output tells you exactly that on your screenshot). 5 out of 6 "xdebug." params from your current php.ini do nothing in Xdebug v3.

    For Xdebug 3 it should be like this (based on your original config — better start using new 9003 default port):

    zend_extension = "C:xamppphpextphp_xdebug.dll"
    xdebug.mode = debug
    xdebug.start_with_request = yes
    xdebug.client_port = 9000
    xdebug.client_host = "127.0.0.1"
    xdebug.log = "C:xampptmpxdebugxdebug.log"
    xdebug.idekey = VSCODE
    
    Login or Signup to reply.
  2. OS: Windows 10

    VS Code marks the breakpoints as "unverified breakpoint".

    In my case, i had to add "pathMappings":

    "configurations": [{
        ...,
        "pathMappings": {
            "remote/path/to/webroot/": "${workspaceFolder}",
        }
    }]
    

    Sidenote when you are working with docker: The remote path is the path inside the docker container.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search