OS: Windows 8.1, PhpED 15.0 (Build 15012, 64bit)
I needed to relocate my source code to a new volume. The source was originally located under:
I moved the source to:
To avoid invalidating the original configurations, I created a directory junction to make the new path appear to be unchanged:
xcopy /s D:\Src\* S:\
ren D:\Src D:\Src.OLD
mklink /J D:\Src S:\
|
I opened my PhpEd project using the original path D:\Src\Web\ and everything seemed to be fine. I could edit all the files and step through a page using the debugger.
The problem is that when I jump from the first page to a second page, the debugger loses the debug session and no longer stops at any breakpoints in the second page. I noticed the URL no longer contains the DBGSESSID values.
I have "Debug Sessions" enabled in the project settings. I have no problem debugging the first page.
There is a clue in rerunning the Project Settings Wizard. It reports an error when testing the debugger:
Error: (-143) executed file is from different directory (S:\Web\pub\) than expected (D:\Src\Web\pub\)
I suspect that the server is trying to determine the real path to the source file, coming up a different path than the project settings and deciding to drop the debug session. This is, unfortunately, the wrong answer.
If I remove the junction from the path, copy the exact project files to D:\Src\Web\ the debugger works as expected. It seems PhpEd debugger is confused by directory junctions.
Pending a future fix, is there a workaround that will allow me to debug through multiple pages while continuing to use the junction? The junction makes life easier in many other respects.