Bug #73797 [Com]: __DIR__ !== getcwd()

From: 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

« previous php.bugs (#206909) next »