View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001964||Xdebug||Step Debugging||public||2021-04-11 18:52||2021-09-01 15:33|
|Summary||0001964: WSL UNC paths don't have needed prefix|
I just ran into an issue where Xdebug is presenting a UNC path in such way I cannot map it back to original.
I executed a script from an UNC path \WSL$\UBUNTU\home\zobo\php\test1.php
Looking at phpinfo() output, php is OK with it:
However Xdebug presents the files as:
Also true for stack:
I am not sure if this is true in case of network mapped UNC paths, but I have a strong suspicion it is. See: https://github.com/xdebug/vscode-php-debug/issues/546
In case it's a normal "windows path" the url becomes
Was this already encountered?
|Tags||No tags attached.|
I read this https://en.wikipedia.org/wiki/File_URI_scheme and am considering this os actually correct...
Upon further debugging I did find other strange things:
First the case is strange:
If I try to set a breakpoint:
 [Step Debug] <- breakpoint_list -i 3
It's treated as relative path... This should not be valid in URL context.
So in case of windows UNCs I think the syntax should really be encoded as file:////host/path....
I guess this is a far more complex issue than I hoped for... However not being able to set a breakpoint for a UNC path is IMO a bug.
Xdebug handles UNC paths, and prefixes them with file:// : https://github.com/xdebug/xdebug/blob/master/src/lib/usefulstuff.c#L310-L313
This is an implementation of a specification on the MSFT website: https://docs.microsoft.com/en-us/archive/blogs/ie/file-uris-in-windows
For the UNC Windows file path
The corresponding valid file URI in Windows is the following:
For the local Windows file path
The corresponding valid file URI in Windows is:
And this is exactly what Xdebug does. So I also don't think there is a bug here.
I still don't know what to do here... either break "Proper Syntax" that Windows and Wikipedia explain, or ignore it and suggest people mount their drive with a drive letter.
While "WSL$" has correct casing, I wonder, what was the correct casing for "Ubuntu"?
As for PHP's output, it uses what was passed to it.
|2021-04-11 18:52||Zobo||New Issue|
|2021-04-12 20:09||Zobo||Note Added: 0005825|
|2021-04-14 08:36||Zobo||Note Added: 0005826|
|2021-04-16 16:17||derick||Assigned To||=> derick|
|2021-04-16 16:17||derick||Status||new => feedback|
|2021-04-16 16:18||derick||Note Added: 0005851|
|2021-04-16 16:18||derick||Note Edited: 0005851|
|2021-05-14 15:31||derick||Target Version||=> 3.1dev|
|2021-05-21 13:20||derick||Relationship added||has duplicate 0001939|
|2021-08-07 10:10||derick||Note Added: 0005968|
|2021-08-27 17:38||AnrDaemon||Note Added: 0005995|
|2021-09-01 15:33||derick||Target Version||3.1dev => 3.2dev|