|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2006-01-22 17:17 UTC] shire at tekrat dot com
[2006-01-27 10:06 UTC] ilia at prohost dot org
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 18:00:01 2025 UTC |
Description: ------------ APC uses wrong cache file if there are two files of the same name but accessed with different include_path settings. See reporoduce code for info. Reproduce code: --------------- ./text.php: <? $text = "1111111111111111"; ?> ./abc/text.php <? $text = "2222222222222222"; ?> ./index1.php: <? include("text.php"); echo $text; ?> ./index2.php: <? ini_set("include_path", "abc:."); include("text.php"); echo $text; ?> Expected result: ---------------- If you access index1.php, it will include text.php from the current directory (right) and APC will cache that text.php; the output will be "111111111111111". If you access index2.php next, it should include text.php from the "abc" directory but will wrongly use the cached text.php from the current directory instead; the output will be again "111111111111" but should be "22222222222222". It also works the other way around: if you access index2.php first, text.php from "abc" directory will be cached, and the output for index2.php will be 22222222222222 (right). If you access index1.php after that, the output will also be "2222222222222222" (wrong) but should be "111111111111111".