Hi Scott,
the first thing I’d try is to delete all manual path mappings you’ve created in the Project Properties and try a "Zero-Config" approach first.
PHP tools are usually pretty good at figuring out the mapping automatically. If you have a manual mapping that isn't quite right, it can actually break that logic.
Anyway, looking at your trace, the problem is pretty clear: the IDE is trying to set a breakpoint on file:///C:/alonso/login.php. Xdebug on a Debian server has no idea what a C:/ drive is, so it can't resolve it. The mapping needs to translate that Windows path into the server's Linux path before it sends the command to Xdebug.
Regarding the resolved="unresolved" status: seeing that at the very start of a session is actually normal for Xdebug 3. Line breakpoints often stay "unresolved" until the PHP engine actually loads that specific file during the request. But since yours never hit, it means the "match" never happens even after the file is loaded.
If Auto-Mapping fails, try this manual setup:
- Local Path: (You can actually leave this blank if your VS project root matches the server's public_html content).
- Remote Path: /var/www/napp/public_html
Two things to watch out for:
- Case Sensitivity: Debian is case-sensitive. Double-check that /var/www/napp/public_html matches the server exactly (e.g., is it public_html or Public_html?).
- Mapping Level: In your previous attempt, you mapped login.php to a directory. Avoid that - it's always safer to map root-to-root.
Btw. how are you syncing your files to the server (SFTP, Git, etc.)? If there's an extra folder level on the Debian side that isn't on your laptop, that's usually where the mapping falls apart.
Thank you!