【发布时间】:2014-11-03 00:36:35
【问题描述】:
如果我在 php.ini 文件中设置此配置:
opcache.revalidate_freq = 0
还是会比禁用 Opcache 系统更好吗?
因为在我看来,它会检查每个请求的文件更新,所以它就像 Opcache 被禁用一样。
【问题讨论】:
标签: php zend-framework config opcache
如果我在 php.ini 文件中设置此配置:
opcache.revalidate_freq = 0
还是会比禁用 Opcache 系统更好吗?
因为在我看来,它会检查每个请求的文件更新,所以它就像 Opcache 被禁用一样。
【问题讨论】:
标签: php zend-framework config opcache
它将检查每个请求的时间戳,如果时间戳未更改,它将从缓存中提供文件,因此您仍然可以从 opcache 中受益。
【讨论】:
不,这会带来开销,因为每次访问、重新编译和缓存文件时都会检查文件,然后再提供服务。
如果 Opcache 被禁用,文件只会被编译和提供。
【讨论】:
最好用
opcache.revalidate_freq = 1
http://php.net/manual/en/opcache.configuration.php#ini.opcache.validate-timestamps
Opache 将始终验证时间戳,但如果它没有更改,它可以使用缓存的操作码。
【讨论】:
0 时会发生这种情况。对于1 的值,它不会检查每个请求的时间戳,它只会在1 秒过去后重新检查。因此,如果请求在启动缓存的请求后 500 毫秒内出现,则不会检查第二个请求的时间戳。
据我所知,这是 opcache 多久会检查 php 文件是否已更改。我用了 30 秒:
opcache.revalidate_freq=30
您所指的可能是该功能的开/关:
opcache.validate_timestamps=1
【讨论】: