From: qurve at qurve dot com Operating system: FreeBSD 4.7 PHP version: 4.3.2 PHP Bug Type: *Directory/Filesystem functions Bug description: include paths with include*()/require*() (again)
Description: ------------ This was posted previously, but I did not feel the issue was really answered by the responses and I upgraded to 4.3.2 and it's still like this. I'm not sure whether this is how it's supposed to work, but if it is I'm amazed because it's extremely counter-intuitive. '.' should always be relative to the script that is calling include*()/require*() even if that script was include*()'d/require*()'d itself. full write-up here: http://www.qurve.com/broken_paths.txt Reproduce code: --------------- http://www.qurve.com/broken_paths.txt Expected result: ---------------- /root/a.php includes: "b/b.php" /root/b/b.php includes: "../c/c.php" php should include /root/c/c.php Actual result: -------------- /root/a.php includes: "b/b.php" /root/b/b.php includes: "../c/c.php" php attempts to include /c/c.php -- Edit bug report at http://bugs.php.net/?id=24251&edit=1 -- Try a CVS snapshot: http://bugs.php.net/fix.php?id=24251&r=trysnapshot Fixed in CVS: http://bugs.php.net/fix.php?id=24251&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=24251&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=24251&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=24251&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=24251&r=support Expected behavior: http://bugs.php.net/fix.php?id=24251&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=24251&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=24251&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=24251&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=24251&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=24251&r=dst IIS Stability: http://bugs.php.net/fix.php?id=24251&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=24251&r=gnused