#48746 [Com]: Unable to browse directories within Junction Points
From: phpstuff at cresstone dot com Date: Fri, 04 Sep 2009 20:59:28 +0000 Subject: #48746 [Com]: Unable to browse directories within Junction Points References: 1 Groups: php.bugs Request: Send a blank email to php-bugs+get-141989@lists.php.net to get a copy of this message
ID: 48746
Comment by: phpstuff at cresstone dot com
Reported By: ddkees at illinois dot edu
Status: Feedback
Bug Type: Directory function related
Operating System: win32 only - Windows Server 2003
PHP Version: 5.3.0
Assigned To: pajoye
New Comment:
Using junctions: is_file and file_exists are giving incorrect behavior
(false on files). is_dir as well, false on directories in the junction
and the junction itself.
The same functions are working well with symlinks.
If you need testing for this, you have mail.
Previous Comments:
------------------------------------------------------------------------
[2009-09-04 20:45:25] pajoye@php.net
@[4 Sep 8:20pm UTC] phpstuff at cresstone dot com
Using is_dir and is_file or file_exists and the cases you described,
does it work? (I don't think the filetype issue is related to what we
discuss here).
------------------------------------------------------------------------
[2009-09-04 20:20:02] phpstuff at cresstone dot com
I was able replicate shoresofnowhere's behavior using windows 7...
I created a junction to a folder on another drive; running is_file() on
a file inside that junction returned false, as did is_dir(). Curious to
see what php thought it was looking at, I tested filetype(), which threw
an error.
I then tested symlinks in the same manner, and got good behavior.
Symlinks seem to be a good workaround for this issue.
Test log follows:
C:\mnt\test>mklink /J junction_otherDrive f:\downloads
Junction created for junction_otherDrive <<===>> f:\downloads
C:\mnt\test>mklink /D symlink_otherDrive f:\downloads
symbolic link created for symlink_otherDrive <<===>> f:\downloads
C:\mnt\test>dir
Volume in drive C is coreI7_System
Volume Serial Number is 38E2-2B62
Directory of C:\mnt\test
2009.09.04 16.05 <DIR> .
2009.09.04 16.05 <DIR> ..
2009.09.04 16.05 <JUNCTION> junction_otherDrive [f:\downloads]
2009.09.04 16.05 <SYMLINKD> symlink_otherDrive [f:\downloads]
0 File(s) 0 bytes
4 Dir(s) 30,034,223,104 bytes free
C:\mnt\test>php -r var_dump(filetype('junction_otherdrive'));
PHP Warning: filetype(): Lstat failed for junction_otherdrive in
Command line code on line 1
Warning: filetype(): Lstat failed for junction_otherdrive in Command
line code on line 1
bool(false)
C:\mnt\test>php -r
var_dump(filetype('junction_otherdrive\php-5.2.0-win32-installer.msi'));
PHP Warning: filetype(): Lstat failed for
junction_otherdrive\php-5.2.0-win32-installer.msi in Comm
and line code on line 1
Warning: filetype(): Lstat failed for
junction_otherdrive\php-5.2.0-win32-installer.msi in Command l
ine code on line 1
bool(false)
C:\mnt\test>php -r var_dump(filetype('symlink_otherdrive'));
string(3) "dir"
C:\mnt\test>php -r
var_dump(filetype('symlink_otherdrive\php-5.2.0-win32-installer.msi'));
string(4) "file"
------------------------------------------------------------------------
[2009-09-04 18:32:33] pajoye@php.net
Ignore my last two comments, it works perfectly using what you
describe. I was testing it from another VM where this junction did not
exist.
I added a include 'dir3/two.php' to one.php, two.php being a simple
echo "two.php"
The output:
C:\test>\php53\debug_ts\php.exe -n one.php
two.php
bool(true)
C:\test>junction dir3
....
C:\test\dir3: JUNCTION
Substitute Name: e:\test
C:\test>dir dir3
...
09/04/2009 07:33 PM 24 two.php
1 File(s) 24 bytes
2 Dir(s) 202,975,232 bytes free
------------------------------------------------------------------------
[2009-09-04 17:50:34] pajoye@php.net
Please note that it is again a XP/2k3 only issue. Debugging/fixing now.
------------------------------------------------------------------------
[2009-09-04 17:36:30] pajoye@php.net
@shoresofnowhere at gmail dot com
ok, I can reproduce it now. I will come back as soon as I have a fix.
------------------------------------------------------------------------
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
Thread (70 messages)
- #48746 [Opn]: Unable to browse directories within Junction Points
- #48746 [Opn->Fbk]: Unable to browse directories within Junction Points
- #48746 [Fbk->Opn]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Opn->Asn]: Unable to browse directories within Junction Points
- #48746 [Asn->Fbk]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Fbk->Asn]: Unable to browse directories within Junction Points
- #48746 [Asn]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Asn->Fbk]: Unable to browse directories within Junction Points
- #48746 [Fbk]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [NoF->Asn]: Unable to browse directories within Junction Points
- #48746 [Asn->Bgs]: Unable to browse directories within Junction Points
- #48746 [Bgs->Asn]: Unable to browse directories within Junction Points
- #48746 [Asn->Fbk]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Fbk->Asn]: Unable to browse directories within Junction Points
- #48746 [Asn]: Unable to browse directories within Junction Points
- #48746 [Asn->Fbk]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Fbk->Asn]: Unable to browse directories within Junction Points
- #48746 [Asn->Fbk]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Fbk]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Fbk]: Unable to browse directories within Junction Points
- #48746 [Fbk]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Fbk]: Unable to browse directories within Junction Points
- #48746 [Fbk]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Fbk->Asn]: Unable to browse directories within Junction Points
- #48746 [Asn]: Unable to browse directories within Junction Points
- #48746 [Asn->Fbk]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Fbk]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Fbk]: Unable to browse directories within Junction Points
- #48746 [Fbk]: Unable to browse directories within Junction Points
- #48746 [Fbk]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Fbk]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Fbk]: Unable to browse directories within Junction Points
- #48746 [Fbk]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [NoF->Asn]: Unable to browse directories within Junction Points
- #48746 [Asn->Fbk]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [Com]: Unable to browse directories within Junction Points
- #48746 [NoF->Fbk]: Unable to browse directories within Junction Points
- #48746 [Fbk->Bgs]: Unable to browse directories within Junction Points
- #48746 [Bgs->Asn]: Unable to browse directories within Junction Points
- #48746 [Asn->Csd]: Unable to browse directories within Junction Points
- Bug #48746 [Com]: Unable to browse directories within Junction Points
- Bug #48746 [Csd]: Unable to browse directories within Junction Points
- Bug #48746 [Com]: Unable to browse directories within Junction Points
- Bug #48746 [Com]: Unable to browse directories within Junction Points
- Bug #48746 [Csd]: Unable to browse directories within Junction Points
- Bug #48746 [Com]: Unable to browse directories within Junction Points
- Bug #48746 [Csd]: Unable to browse directories within Junction Points
- Bug #48746 [Com]: Unable to browse directories within Junction Points
- Bug #48746 [Com]: Unable to browse directories within Junction Points
| « previous | php.bugs (#141989) | next » |
|---|