我在 Linode Ubuntu 16.04 服务器上运行Grav CMS,其中 PHP7(php-fpm + nginx)在列出目录内容时返回缓存结果。我第一次遇到这个问题FilesystemIterator
,但它不限于那个类——当我使用scandir
.
基本上发生的情况是,每当我将新内容同步到服务器时,无论我使用 rsync 还是 FTP,PHP 都会返回特定文件夹的旧内容。我试过调用clearstatcache
,但它没有帮助——即使我打电话它来自适当的 PHP 文件,就在我扫描目录之前。
touch
'ing 文件来更新他们的 mtime 也无济于事。但是,重新启动 php-fpm 服务确实有效。
PHP是否有可能以其他方式缓存目录的内容?会不会是文件系统以某种方式欺骗了 PHP?