|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2003-09-03 10:48 UTC] sniper@php.net
[2003-09-08 22:00 UTC] ulysses at mail dot fitan dot com dot tw
|
|||||||||||||||||||||||||||
Copyright © 2001-2026 The PHP GroupAll rights reserved. |
Last updated: Wed Feb 11 23:00:01 2026 UTC |
Description: ------------ In PHP 4.3.3 include_once() is case-sensitive. This will cause some problem on case-insensitive filesystems, such as Windows. Please see the reproduce code. Of course I will never use this teenager-hacker-style strings for actual coding, but it means trouble when mixed using relative and absolute path within codes. I spent hours debugging, only to found it's the "I"netpub directory (IIS default setting) name problem. Yes, this problem can be work-around. But if include_once() feels that 'C:/Inetpub/wwwroot/b.php' and 'c:/inetpub/ wwwroot/b.php' are different, please do not let me include it, or please give me some warning. This had never happened in PHP 4.3.2 or previous version. Reproduce code: --------------- I've got two files: a.php & b.php, which are put in the same directory. The actual absolute to b.php is 'C:/Inetpub/wwwroot/b.php'; a.php: <? $mydir = 'c:/inEtpUB/wwwRoOT'; echo "<P>THIS IS A.PHP"; include_once("b.php"); include_once("$mydir/b.php"); ?> b.php <? echo "<P>THIS IS B.PHP"; ?> Expected result: ---------------- THIS IS A.PHP THIS IS B.PHP Actual result: -------------- THIS IS A.PHP THIS IS B.PHP THIS IS B.PHP