Bug #77639 [Opn->Csd]: Wrong behavior of getting paths for symlink

From: Date: Tue, 19 Feb 2019 21:29:13 +0000
Subject: Bug #77639 [Opn->Csd]: Wrong behavior of getting paths for symlink
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-219648@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=77639&edit=1 ID: 77639 User updated by: mesaverde228 at gmail dot com Reported by: mesaverde228 at gmail dot com Summary: Wrong behavior of getting paths for symlink -Status: Open +Status: Closed Type: Bug Package: *Directory/Filesystem functions Operating System: Windows/Linux PHP Version: 7.1.26 Block user comment: N Private report: N New Comment: I assume issue can be closed because for subfolders within "linked" directory exists another separate ticket Previous Comments: ------------------------------------------------------------------------ [2019-02-19 21:21:15] mesaverde228 at gmail dot com yes, you are right. "ln" tool is not a solution for me :( and as I can see there is no cross-platform solution to create sym-link that can be later recognized by PHP the same on different OS :( ------------------------------------------------------------------------ [2019-02-19 21:06:30] requinix@php.net ln is not creating a symlink. Rather, it appears to be creating a copy. 1. If it were a symlink then dir would have shown it as such. 2. By default Windows requires admin privileges to create symlinks. 3. Create a file in one directory and it will not appear in the other. 4. If I create a large file in the original and try to ln -s to it, ln takes time when the operation should be instant. ------------------------------------------------------------------------ [2019-02-19 20:23:25] mesaverde228 at gmail dot com Ok, install git and use "ln" from distribution to create symbolik link like on Linux system rm -rf D:\test\symlinkedcachefolder ln -s D:\test\realcachefolder D:\test\symlinkedcachefolder dir output D:\test>dir Volume in drive D is dev Volume Serial Number is ECD3-824B Directory of D:\test 02/19/2019 11:14 PM <DIR> . 02/19/2019 11:14 PM <DIR> .. 02/19/2019 09:51 PM <DIR> realcachefolder 02/19/2019 11:14 PM <DIR> symlinkedcachefolder 0 File(s) 0 bytes 4 Dir(s) 34,891,960,320 bytes free Next use steps from previous STR php -r "var_dump(realpath('D:/test/symlinkedcachefolder'));" php -r "var_dump(__DIR__);" Will output D:\test\symlinkedcachefolder>php -r "var_dump(realpath('D:/test/symlinkedcachefolder'));" string(28) "D:\test\symlinkedcachefolder" D:\test\symlinkedcachefolder>php -r "var_dump(__DIR__);" string(28) "D:\test\symlinkedcachefolder" and script will return following D:\test\symlinkedcachefolder>php index.php array(4) { ["realpath(__DIR__)"]=> string(28) "D:\test\symlinkedcachefolder" ["realpath("D:\test\symlinkedcachefolder\gretta")"]=> bool(false) ["dirname(__DIR__)"]=> string(7) "D:\test" ["dirname(__DIR__ . "\gretta")"]=> string(28) "D:\test\symlinkedcachefolder" } Totally different result comparing to junctions or native soft links in windows and not the same as on Linux fo links created using "ln" tool ------------------------------------------------------------------------ [2019-02-19 19:46:51] requinix@php.net You cannot compare a Linux symlink with an NTFS junction. They are two different filesystem features. ------------------------------------------------------------------------ [2019-02-19 19:26:29] mesaverde228 at gmail dot com I'm not sure what is the bug, but for me is very ambiguous that on different platforms for the same functionality I got different results, when I use "soft" or "hard" links on both OS Linux and Windows. ------------------------------------------------------------------------ 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 https://bugs.php.net/bug.php?id=77639 -- Edit this bug report at https://bugs.php.net/bug.php?id=77639&edit=1

« previous php.bugs (#219648) next »