ID: 48746 Updated by: paj...@php.net Reported By: ddkees at illinois dot edu -Status: Feedback +Status: Assigned Bug Type: Directory function related Operating System: win32 only - Windows Server 2003 PHP Version: 5.3.0 Assigned To: pajoye New Comment:
"\??\" may be the cause (\\?\ is well documented not \??\). But I wonder why junction.exe jucntion work just fine on our tests system (xp and 2k3). Thanks for testing, I go back to code&test. Previous Comments: ------------------------------------------------------------------------ [2009-08-27 03:40:39] phpstuff at cresstone dot com >From my testing, this snapshot works for directory junction points created with mklink. However still no go on mounted volumes or directory junction points created with junction.exe. Re-creating any faulting junctions with mklink seems like a good workaround, but mounted volumes are still left in the cold. Looking at the output of the dir command, the only visible difference between mklink and junction.exe is the prepended "\??\", which is also present on mounted volumes by necessity. Full test log follows: C:\mnt\test>dir Volume in drive C is coreI7_System Volume Serial Number is 38E2-2B62 Directory of C:\mnt\test 2009.08.26 23.32 <DIR> . 2009.08.26 23.32 <DIR> .. 2009.08.11 16.35 <DIR> directory 2009.08.11 14.47 <JUNCTION> junction [\??\C:\mnt\test\directory] 2009.08.20 13.26 <JUNCTION> mklink_junction [C:\mnt\test\directory] 2009.08.26 23.26 <JUNCTION> mounted_volume [\??\Volume{e13ba66a-14db-11de-8e96-001fd0ae05ac} \] 2009.08.26 23.32 283 phptest.php 1 File(s) 283 bytes 6 Dir(s) 28,765,544,448 bytes free C:\mnt\test>php -v PHP 5.3.1-dev (cli) (built: Aug 27 2009 03:52:14) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies C:\mnt\test>type phptest.php <?php echo "directory:\t\t"; var_dump(file_exists("directory")); echo "junction.exe junction:\t"; var_dump(file_exists("junction")); echo "mklink junction:\t"; var_dump(file_exists("mklink_junction")); echo "mounted volume:\t\t"; var_dump(file_exists("mounted_volume")); ?> C:\mnt\test>php phptest.php directory: bool(true) junction.exe junction: bool(false) mklink junction: bool(true) mounted volume: bool(false) ------------------------------------------------------------------------ [2009-08-26 20:46:13] paj...@php.net Please try using this snapshot: http://snaps.php.net/php5.3-latest.tar.gz For Windows: http://windows.php.net/snapshots/ ------------------------------------------------------------------------ [2009-08-26 20:45:53] paj...@php.net help if I comment in the right bug :) (reassigned) ------------------------------------------------------------------------ [2009-08-26 20:44:50] paj...@php.net Please follow #48746, same problem. I close (bogus) this bug to avoid to have to split the info in too many reports. ------------------------------------------------------------------------ [2009-08-26 20:44:06] s...@php.net Automatic comment from SVN on behalf of pajoye Revision: http://svn.php.net/viewvc/?view=revision&revision=287781 Log: - fix #48746, regression with file operaiton on path with junctions ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/48746 -- Edit this bug report at http://bugs.php.net/?id=48746&edit=1