PHP 的 opcache 何时重新解析文件?

When does PHP's opcache re-parse a file?

正如主题所说 - PHP 的 opcache 何时重新解析文件?它是基于文件时间戳,文件哈希还是什么?

编辑:如果我的问题不清楚那么我会再试一次:) 假设文件"xyz.php" 已经在OPCache 中。现在我修改文件 - 显然必须再次解析并在缓存中更新。 PHP 如何知道应该这样做?

它基于您在 php.ini 文件中的 opcache 配置。

opcache.revalidate_freq - 基本上,代码缓存应该多久(以秒为单位)过期并检查您的代码是否已更改。 0 表示它会在每个请求中检查您的 PHP 代码(这会增加很多统计系统调用)。在您的开发环境中将其设置为 0。由于下一个设置,生产无关紧要。

opcache.validate_timestamps - 启用后,PHP 将根据您的 opcache.revalidate_freq 值检查文件时间戳。

当它被禁用时,opcache.revaliate_freq 将被忽略并且永远不会检查 PHP 文件中的更新代码。因此,如果您修改代码,在您重新启动或重新加载 PHP.

之前,更改实际上不会 运行