I am trying to get XDebug working with Visual Studio Code on Windows 10. I have Apache/PHP server running on my local machine (Apache/2.4.41 (Win64) PHP/7.3.9RC1). It works without any problem. I have Visual Studio Code running on the same machine. I've installed PHP XDebug 1.13 in it. I have a small test script in the htdocs directory. I set a couple of breakpoints and launch the debugger and get this in the Debug Console...
<- launchResponse
Response {
seq: 0,
type: 'response',
request_seq: 2,
command: 'launch',
success: true }
I then switch to Chrome which, at that moment, has an arrow-hourglass so I can tell something is trying to work. I refresh the page and the debugger does not stop at the breakpoints.
I've read through a bunch of posts already. Here's the relevant entries in my php.ini file...
[XDebug]
xdebug.stopOnEntry = true
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port=9001
xdebug.remote_connect_back=1
xdebug.remote_enable = 1
xdebug.remote_autorestart = 1
zend_extension = "d:/php/ext/php_xdebug-2.7.2-7.3-vc15-x86_64.dll"
Here's my current launch.json file...
{
// 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": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9001,
"hostname": "127.0.0.1",
"log": true,
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9001,
}
]
}
I've tried:
- Turning off the firewall
- Changing the port number
- Using "localhost" or 127.0.0.1 in both the URL and php.ini (I've made sure to always reboot Apache after making any php.ini file changes.)
- I've gradually added more settings (which you can see in the php.ini and the launch.json but the behavior hasn't changed...launching the debugger causes an arrow-hourglass for about ten seconds. I keep refreshing the webpage but it just runs through the script without stopping.
Here's my test script...
<?php
$a = 3;
$b = 19;
$c = $a + $b;
echo "Answer: $c";
?>
I, obviously, expect the debugger to stop at the first breakpoint (which is on the line "$a = 3;" It doesn't. I've tried adding more breakpoints. The browser goes straight to the answer "Answer: 22"
One other thing, I tried entering
echo "1"
in the prompt at the bottom of the Debug Console and got this:
echo "1"
Cannot evaluate code without a connection
-> evaluateRequest
{ command: 'evaluate',
arguments: { expression: 'echo "1"', context: 'repl' },
type: 'request',
seq: 3 }
So I'm guessing that the web server is not connecting. I've checked the error.log file but there are no errors...no indications of anything related to debugging or connections.
NOTE: I opened inbound and outbound ports on the firewall and ran netstat -ano and verified that port 9001 is being listened on...
TCP 127.0.0.1:9001 0.0.0.0:0 LISTENING 16144
Any help would be MUCH appreciated!!