Hi,
The fact that require_once()/include_once() are case-sensitive on Windows
was reported in bug 18630 http://bugs.php.net/bug.php?id=18630 , however the
bug was then just closed as a documentation problem and nothing was changed,
which is why I'm sending this here rather than adding to the bug report.
Anyway, on systems with case-insensitive file systems this problem
effectively makes require_once() useless and means you have to rely on code
blocks such as:
if (defined("ASRD_INCLUDED"))
return;
define("ASRD_INCLUDED", TRUE);
at the top of every single include file, this is definitely ugly and would
be much better replaced by require_once().
Also using this to prevent multiple inclusions still means that the file
will be parsed multiple times which is an unnecessary performance drain.
From what I can tell of the code in zend_execute.c, fixing this bug is just
a matter of taking a copy of the filename and making it lowercase on windows
systems before adding it to the EG(included_files) hashtable.
Is there any chance this could be fixed before 4.3.4 is released, as it is
definitely a bug and not a documentation problem.
Cheers,
Pete Dishman
Peter Dishman
Software Engineer
Email: peterd@telephonetics.co.uk
Address: Telephonetics, Hamilton House, 111 Marlowes, Hemel Hempstead,
Herts. HP1 1BB
+44 (0)1442 242 242 Telephonetics - Making Sound Business Sense -
www.telephonetics.co.uk
Telephonetics ContactPortal (R) available now :
www.telephonetics.co.uk/products/product_contactportal.html
Intelligent call routing by spoken voice - just say the name and it dials
for you. Call me on 01442 242 242 to hear it in action.
Arrange flower delivery via local florists using the Telephonetics / Web
Florist service on 08450 111 111 www.webflorists.co.uk/find_a_florist.htm
Prompt service anywhere in the UK.
The disclaimer available at www.telephonetics.co.uk/edisc.html or by sending
email
to <mailto:email-disclaimer@telephonetics.co.uk
Hi,
The fact that require_once()/include_once() are case-sensitive on Windows
was reported in bug 18630 http://bugs.php.net/bug.php?id=18630 , however the
bug was then just closed as a documentation problem and nothing was changed,
which is why I'm sending this here rather than adding to the bug report.Anyway, on systems with case-insensitive file systems this problem
effectively makes require_once() useless and means you have to rely on code
blocks such as:
if (defined("ASRD_INCLUDED"))
return;
define("ASRD_INCLUDED", TRUE);at the top of every single include file, this is definitely ugly and would
be much better replaced by require_once().
Also using this to prevent multiple inclusions still means that the file
will be parsed multiple times which is an unnecessary performance drain.From what I can tell of the code in zend_execute.c, fixing this bug is just
a matter of taking a copy of the filename and making it lowercase on windows
systems before adding it to the EG(included_files) hashtable.Is there any chance this could be fixed before 4.3.4 is released, as it is
definitely a bug and not a documentation problem.
How is this a BUG? It's just a feature on windows where you have
case-insensitive filenames. I fyou want to handle that, just use one
style in your code (ie, always lower case).
About your sig:
"I wonder if I could request that you ditch the ridiculous ten-line
.sig? If not completely, then at least from this list? It's the ASCII
equivalent of walking out of a public restroom with toilet paper hanging
out of the back of your pants. The longer it is, the sillier you look."
Derick
--
"Interpreting what the GPL actually means is a job best left to those
that read the future by examining animal entrails."
Derick Rethans http://derickrethans.nl/
International PHP Magazine http://php-mag.net/
Hey,
I might have fixed this. Can you please check the latest CVS and let me
know if it works for you?
Thanks,
Andi
At 03:36 PM 10/29/2003 +0000, Pete Dishman wrote:
Hi,
The fact that require_once()/include_once() are case-sensitive on Windows
was reported in bug 18630 http://bugs.php.net/bug.php?id=18630 , however the
bug was then just closed as a documentation problem and nothing was changed,
which is why I'm sending this here rather than adding to the bug report.Anyway, on systems with case-insensitive file systems this problem
effectively makes require_once() useless and means you have to rely on code
blocks such as:
if (defined("ASRD_INCLUDED"))
return;
define("ASRD_INCLUDED", TRUE);at the top of every single include file, this is definitely ugly and would
be much better replaced by require_once().
Also using this to prevent multiple inclusions still means that the file
will be parsed multiple times which is an unnecessary performance drain.From what I can tell of the code in zend_execute.c, fixing this bug is just
a matter of taking a copy of the filename and making it lowercase on windows
systems before adding it to the EG(included_files) hashtable.Is there any chance this could be fixed before 4.3.4 is released, as it is
definitely a bug and not a documentation problem.Cheers,
Pete Dishman
Peter Dishman
Software Engineer
Email: peterd@telephonetics.co.uk
Address: Telephonetics, Hamilton House, 111 Marlowes, Hemel Hempstead,
Herts. HP1 1BB
+44 (0)1442 242 242 Telephonetics - Making Sound Business Sense -
www.telephonetics.co.ukTelephonetics ContactPortal (R) available now :
www.telephonetics.co.uk/products/product_contactportal.html
Intelligent call routing by spoken voice - just say the name and it dials
for you. Call me on 01442 242 242 to hear it in action.Arrange flower delivery via local florists using the Telephonetics / Web
Florist service on 08450 111 111 www.webflorists.co.uk/find_a_florist.htm
Prompt service anywhere in the UK.The disclaimer available at www.telephonetics.co.uk/edisc.html or by sending
to <mailto:email-disclaimer@telephonetics.co.uk
Forget it. I screwed up. It doesn't work yet.
At 11:12 PM 10/29/2003 +0200, Andi Gutmans wrote:
Hey,
I might have fixed this. Can you please check the latest CVS and let me
know if it works for you?Thanks,
Andi
At 03:36 PM 10/29/2003 +0000, Pete Dishman wrote:
Hi,
The fact that require_once()/include_once() are case-sensitive on Windows
was reported in bug 18630 http://bugs.php.net/bug.php?id=18630 , however the
bug was then just closed as a documentation problem and nothing was changed,
which is why I'm sending this here rather than adding to the bug report.Anyway, on systems with case-insensitive file systems this problem
effectively makes require_once() useless and means you have to rely on code
blocks such as:
if (defined("ASRD_INCLUDED"))
return;
define("ASRD_INCLUDED", TRUE);at the top of every single include file, this is definitely ugly and would
be much better replaced by require_once().
Also using this to prevent multiple inclusions still means that the file
will be parsed multiple times which is an unnecessary performance drain.From what I can tell of the code in zend_execute.c, fixing this bug is just
a matter of taking a copy of the filename and making it lowercase on windows
systems before adding it to the EG(included_files) hashtable.Is there any chance this could be fixed before 4.3.4 is released, as it is
definitely a bug and not a documentation problem.Cheers,
Pete Dishman
Peter Dishman
Software Engineer
Email: peterd@telephonetics.co.uk
Address: Telephonetics, Hamilton House, 111 Marlowes, Hemel Hempstead,
Herts. HP1 1BB
+44 (0)1442 242 242 Telephonetics - Making Sound Business Sense -
www.telephonetics.co.ukTelephonetics ContactPortal (R) available now :
www.telephonetics.co.uk/products/product_contactportal.html
Intelligent call routing by spoken voice - just say the name and it dials
for you. Call me on 01442 242 242 to hear it in action.Arrange flower delivery via local florists using the Telephonetics / Web
Florist service on 08450 111 111 www.webflorists.co.uk/find_a_florist.htm
Prompt service anywhere in the UK.The disclaimer available at www.telephonetics.co.uk/edisc.html or by sending
to <mailto:email-disclaimer@telephonetics.co.uk