Bug->Req #60017 [Opn->Fbk]: __FILE__ case inconsistency on Mac / MAMP

From: Date: Tue, 20 Jul 2021 11:10:11 +0000
Subject: Bug->Req #60017 [Opn->Fbk]: __FILE__ case inconsistency on Mac / MAMP
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-235204@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=60017&edit=1 ID: 60017 Updated by: cmb@php.net Reported by: ykessler at gmail dot com Summary: __FILE__ case inconsistency on Mac / MAMP -Status: Open +Status: Feedback -Type: Bug +Type: Feature/Change Request Package: Filesystem function related Operating System: Mac OSX PHP Version: Irrelevant -Assigned To: +Assigned To: cmb Block user comment: N Private report: N New Comment: Is this still an issue with any of the actively supported PHP versions[1]? However, even if so, I wouldn't classify this as bug, since on case-insensitive filesystem, case doesn't really matter. Still, it would be nice to handle that like on Windows. [1] <https://www.php.net/supported-versions.php> Previous Comments: ------------------------------------------------------------------------ [2012-01-23 22:30:17] gmblar+php at gmail dot com This happens because the default filesystem (hfs+) is case insensitive. a.php <?php include strtolower(realpath('b.php')); include strtoupper(realpath('b.php')); b.php <?php var_dump(__FILE__); Output: string(23) "/users/blar/sites/b.php" string(23) "/USERS/BLAR/SITES/B.PHP" ------------------------------------------------------------------------ [2011-11-05 01:10:44] pjb109 at hotmail dot com Trying to write to a php file but not possible on MAMP. Instead tried to echo the line '<?php $var = "abc"; ?>' and this is also not possible?? Any ideas. ------------------------------------------------------------------------ [2011-10-16 13:30:43] ykessler at gmail dot com Here is another test run outside the Users directory, in the standard MAMP install under Applications/MAMP/htdocs: a.php: <?php echo "<br/>__FILE__ = ".__FILE__; echo "<br/>__DIR__ = ".__DIR__; include("a_inc.php"); ?> a_inc.php: <?php echo "<br/>__FILE__ = ".__FILE__; echo "<br/>__DIR__ = ".__DIR__; ?> http://localhost/tests/a.php = __FILE__ = /applications/mamp/htdocs/tests/a.php __DIR__ = /applications/mamp/htdocs/tests __FILE__ = /Applications/MAMP/htdocs/tests/a_inc.php __DIR__ = /Applications/MAMP/htdocs/tests Zend Engine v2.3.0 OSX 10.6.8 Apache/2.0.63 (Unix) PHP/5.3.2 DAV/2 ------------------------------------------------------------------------ [2011-10-08 23:39:39] karcieri at gmail dot com Environment: --------------- Zend Server version: 5.1.0 Test script: --------------- Same as bug report Actual result: -------------- __FILE__ = /usr/local/zend/apache2/htdocs/Test __DIR__ = /usr/local/zend/apache2/htdocs/Test __FILE__ = /usr/local/zend/apache2/htdocs/Test __DIR__ = /usr/local/zend/apache2/htdocs/Test Is it possible that this bug is only related to the Users directory? ------------------------------------------------------------------------ [2011-10-08 21:51:37] ykessler at gmail dot com Description: ------------ --- From manual page: http://www.php.net/language.constants.predefined --- __FILE__ and __DIR__, return lower case paths when in the calling file, and mixed case paths in an included file, when run on MAMP. Test script: --------------- //The following will show all lower case paths when in the calling file, //and mixed case paths in an included file, when run on MAMP. echo "<br/>__FILE__ = ".__FILE__; echo "<br/>__DIR__ = ".__DIR__; // include another file with the same code ... Actual result: -------------- __FILE__ = /users/me/stuff/mamp_server/my_site/myfile.php __DIR__ = /users/me/stuff/mamp_server/my_site __FILE__ = /Users/me/Stuff/mamp_server/my_site/myfile.php __DIR__ = /Users/me/Stuff/mamp_server/my_site ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=60017&edit=1

« previous php.bugs (#235204) next »