ID: 39542 Updated by: [EMAIL PROTECTED] Reported By: snowy at corporatezoo dot com -Status: Open +Status: Assigned Bug Type: Scripting Engine problem Operating System: Windows XP PHP Version: 5.2.2 -Assigned To: +Assigned To: dmitry
Previous Comments: ------------------------------------------------------------------------ [2007-05-05 14:35:02] snowy at coporatezoo dot com Hi, just tried this with php 5.2.2 (win32) and it's still not behaving as < 5.2.0 I still suspect it has to do with the "optimization" introduced for require_once. I actually believe the behaviour to be incorrect, in that (1) some sort of namespace for the file is held in cache, albeit not case-sensitive, and (2) in the wrong search order (.= current directory seems to always be searched first, no matter what set_include_path stipulates) I just find it strange that no once else comes across this problem? ------------------------------------------------------------------------ [2007-04-26 09:34:23] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip ------------------------------------------------------------------------ [2007-03-15 07:13:58] snowy at coporatezoo dot com Hi, so I caught this while reading the change log for 5.2.0: "Optimized require_once() and include_once() by eliminating fopen(3) on second usage. (Dmitry)" Perhaps this might be the issue, it might be optimized, but I'm not sure if it's entirely correct. ------------------------------------------------------------------------ [2007-03-12 07:28:07] snowy at coporatezoo dot com tried this on 5.2.1 on OSX as well and it also fails. Another thing: if my file is in /project/docroot/file.php even if I do a: require_once('/project/classes/File.php'); it still fails. Notice that it's (1) case insensitive, (2) the actual full path is given in require_once. I thought it may have been caching the full path, but looks like it's only looking if '[F|f]ile.php' (the file name) has been loaded. Ie, even set_include_path('/project'); require_once('classes/file.php'); // give a path name to avoid namespace clash doesn't work. Is this going to be fixed? Or should we go and change all our include_once/require_once if we want to upgrade to > 5.1.6? thx ------------------------------------------------------------------------ [2007-02-13 16:42:02] jsnell at e-normous dot com still fails for me in the latest snapshot: One other thing to note, it functions differently depending on where you call the script from: e-normous:/Users/jsnell/delete/php5/testcase/lib$ ../../../php5.2-200702131330/sapi/cli/php ../test.php /Users/jsnell/delete/php5/testcase/lib/ Included Test from lib/ vs. e-normous:/Users/jsnell/delete/php5/testcase$ ../../php5.2-200702131330/sapi/cli/php ./test.php /Users/jsnell/delete/php5/testcase/lib/ and e-normous:/Users/jsnell/delete/php5/testcase$ ../../php5.2-200702131330/sapi/cli/php test.php /Users/jsnell/delete/php5/testcase/lib/ ------------------------------------------------------------------------ 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/39542 -- Edit this bug report at http://bugs.php.net/?id=39542&edit=1