查找php缓存文件路径,PHP包括路径顺序和状态缓存

我正在构建一个框架,其中产品实例使用主框架文件,直到有一个它自己的文件版本的副本.为此,我做了以下事情:

set_include_path(MY_PRODUCT_ROOT.'/' . PATH_SEPARATOR . MY_FRAMEWORK_ROOT.'/');

所以如果我调用include(‘view-users.php’);它首先会在MY_PRODUCT_ROOT中查找/view-users.php,如果找不到,则会查看MY_FRAMEWORK_ROOT / view-users.php.

在将文件添加到产品根目录之前,此过程非常顺利.我知道PHP / Apache正在缓存包含,人们会认为运行clearstatcache(true);清除任何状态缓存. PHP可能会在其中使用file_exists的include();并认为新文件仍然不存在.我试过重启Apache没有任何效果.

不幸的是运行clearstatcache(true);也没有帮助.只有在我删除了MY_FRAMEWORK_ROOT /文件之后才会清除缓存并重试,从而找到MY_PRODUCT_ROOT /文件.

我有点难过,我知道我们需要刷新PHP / Apache对文件是否存在的理解,但是clearstatcache(true);没有帮助……

有任何想法吗?

更新:更正,重启Apache似乎现在有所帮助.我重申,只有在尝试将文件添加到MY_PRODUCT_ROOT,重叠现有的MY_FRAMEWORK_ROOT文件以进行自定义时,才会出现这种情况.

更新:开发环境是Windows上的Zend Server CE PHP 5.3.14,生产环境Centos linux httpd,PHP 5.3.在我的开发环境中启用Zend优化器的事实可能会产生影响,也不会使用APC或任何其他缓存脚本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值