我已阅读与此相关的所有其他问题,但我的情况有所不同。
我确实有一个安装到 Linux(Ubuntu 14.04 服务器)的本地 NAS 文件系统。
如果我在手动移动文件后使用先前的 clearcachestat()
运行 file_exists()
,它将产生错误的结果,直到我重新启动 Linux。
重新启动 apache 不起作用,我必须完全重新启动。
我没有安装 memcached 或 APC。
有什么想法为什么 clearcachestat
不起作用吗?
还有什么地方可以缓存它?
最佳答案
我想我知道问题出在哪里:正如我的问题中所说,我手动移动了一些文件(通过 OSX)。我刚刚检查了如果让 PHP 移动文件会发生什么。这按预期工作。然后我尝试通过 FTP 移动文件,这也有效,并且 file_exist 正确返回值。所以我现在回到了“手动移动文件”,我在 OSX 上通过 Finder 将文件拖放到同一安装的驱动器上。存在问题:如果我进行复制/粘贴,然后从文件系统中删除原始文件,一切都很好。但在 OSX 10.10 上拖放显然有些不同,因为 file_exist 不起作用。我现在可以接受这一点,只需避免在该驱动器上拖放即可。但这当然并不能解决问题。正如我现在已经证明这与 php 或clearstatcache 无关,这个答案可以关闭。我将重新提出一个关于 OSX 上拖放行为的新问题。感谢马克 B 的帮助...
关于PHP:file_exists 和clearcachestat 给出错误的结果,直到服务器重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26890049/