代码之家  ›  专栏  ›  技术社区  ›  Pekka

windows上filemtime()的已知问题-文件被任意触摸?

  •  2
  • Pekka  · 技术社区  · 16 年前

    有没有一个已知的问题导致windows xp sp 3上缓存文件的文件修改次数被任意更新,但没有任何实际更改?

    在标准的windows xp上是否有一些服务-备份,同步,版本控制,病毒扫描-已知的触摸文件?他们都有一个 .txt 延伸。

    如果没有,就忘了它。然后我的缓存例程出错了,我将调试我的方法。

    背景:

    我正在windows服务器上为一个速度较慢的网站构建一个简单的缓存包装器。

    我在比较 filemtime() 数据库中某些列的时间戳,以确定缓存文件是否过时。

    我在使用此方法时遇到问题,因为缓存文件的修改时间似乎在操作之间得到了更新 我什么也不做 . 这将导致显示过时的文件。

    我是机器上唯一的使用者。操作系统是windows xp,web服务器是一个xamppache2和php 5.2

    2 回复  |  直到 16 年前
        1
  •  1
  •   Gordon Haim Evgi    16 年前

    你可以设置 logging * 在机器上找出是什么改变了你的文件。根据你的描述,我认为这种情况经常发生,所以你可能会发现 ProcessMonitor ( german )是更好的监控解决方案。

    * 我想你也可以用车载工具来设置日志,只是不再确定如何

        2
  •  1
  •   bobince    16 年前

    我唯一能想到的时间问题是 DST bug . 听起来不太像你现在的样子。

    当然也有其他的windows工具可以在你背后修改文件,但通常是用户级的东西,比如wmp和id3标签,或是狡猾的av…我不想碰你的缓存文件。

    (也许您可以尝试对mtimes进行相等比较,而不是大于/小于,仅当存在完全匹配时才使用缓存?这至少意味着,如果一些反社会的泄密者正在接触文件,它只会让你慢一点,而不是让你服务陈旧的文件。fwiw这就是python使用字节码缓存所做的事情。)

    推荐文章