Bug #73797 [Com]: __DIR__ !== getcwd()
| From: | anrdaemon at freemail dot ru | Date: | Tue, 24 Jan 2017 10:34:18 +0000 |
| Subject: | Bug #73797 [Com]: __DIR__ !== getcwd() | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-206909@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=73797&edit=1
ID: 73797
Comment by: anrdaemon at freemail dot ru
Reported by: anrdaemon at freemail dot ru
Summary: __DIR__ !== getcwd()
Status: Open
Type: Bug
Package: Filesystem function related
Operating System: Windows
PHP Version: 7.1.0
Block user comment: N
Private report: N
New Comment:
Literal output doesn't matter. (Though, you could easily predict it.)
The fact that the output differs - matters.
If "your environment" provides any different results, please describe exact steps
you've made to set it up. As well as exact versions of OS and PHP used.
Previous Comments:
------------------------------------------------------------------------
[2017-01-19 15:17:04] narf at devilix dot net
It might be helpful if you provide the actual/literal outputs that you get, as opposed to just
describing them with words.
In my environment for example, all three of getcwd(), __DIR__ and realpath(__DIR__) return the same
result, so it is unclear what you mean by "realpath()'d".
------------------------------------------------------------------------
[2016-12-21 04:26:39] anrdaemon at freemail dot ru
Another interesting script to run in this directory:
<?php
print getcwd() . "\n";
chdir(getcwd());
print getcwd() . "\n";
chdir(getcwd());
print getcwd() . "\n";
chdir(getcwd());
print getcwd() . "\n";
------------------------------------------------------------------------
[2016-12-21 03:32:23] anrdaemon at freemail dot ru
Description:
------------
When running script from the current directory, you can't be sure if __DIR__ will match
getcwd(), even if naive logic says they should be.
Test script:
---------------
mklink /J "%TEMP%\test.dir" "C:\Documents and Settings\Public\Desktop"
cd "%TEMP%\test.dir"
echo ^<^?php print __DIR__ . ^"\n^"; print getcwd() . ^"\n^"; > test.php
C:\php\php.exe -f test.php
Expected result:
----------------
I'm fully expecting equal output from both prints.
Actual result:
--------------
Actually, the output differs, as if __DIR__ is realpath()'d for some reason.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=73797&edit=1