欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

当线上php代码更新之后如何清理掉之前缓存的opcode?

程序员文章站 2022-03-15 23:46:39
...
当线上php代码更新之后如何清理掉之前缓存的opcode?

回复内容:

当线上php代码更新之后如何清理掉之前缓存的opcode?

opcache.validate_timestamps 默认是OFF

  • OPcache 会每隔 opcache.revalidate_freq 设定的秒数 检查脚本是否更新。 如果禁用此选项,你必须使用 opcache_reset() 或者 opcache_invalidate() 函数来手动重置 OPcache,也可以 通过重启 Web 服务器来使文件系统更改生效。

opcache.revalidate_freq 单位 默认为 2

  • 检查脚本时间戳是否有更新的周期,以秒为单位。 设置为 0 会导致针对每个请求, OPcache 都会检查脚本更新。

从官方文档来看:
opcache.validate_timestamps 设置为 True
opcache.revalidate_freq 设置为一个适当的值,如30 这个时间根据服务器压力灵活调整。

上面设置后,最差情况代码更新30秒后会生效,最快立即生效。

opcode有缓存时间,等待其过期即可。

相关标签: php opcode