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

Reply via email to