为什么 PHP-FPM 有时会陷入提供旧文件的困境?

为什么 PHP-FPM 有时会陷入提供旧文件的困境?

我有一些非常简单的 Ubuntu 服务器设置,其中 NGINX 通过 PHP-FPM 传递对 PHP 文件的请求。

然而,在两台不同的服务器上,我都遇到过这样的情况:来自浏览器的 http 请求被提供旧版本的 PHP 文件,而缺少已上传到服务器的 PHP 脚本的更新。

在这两种情况下,通过反复试验,我发现只有重新启动 PHP-FPM 才能解决问题。重新启动 PHP-FPM 后,将提供新文件。在此之前,仅提供旧文件。

例如,我访问 mysite.com 并看到“Hello”。我访问我的服务器并编辑 index.php 以显示“Hello World”并保存它。我清除浏览器缓存并返回 mysite.com 并仍然看到“Hello”。我重新启动 PHP-FPM,现在我看到了“Hello World”。

有人能解释一下为什么吗?我不认为 PHP-FPM 做了任何内部缓存,那么为什么它会继续提供服务器上不再以该形式存在的旧文件的内容呢?

相关内容