当线上
php
代码更新之后如何清理掉之前缓存的opcode?
回复内容:
当线上php代码更新之后如何清理掉之前缓存的opcode?
默认是
OPcache 会每隔 opcache.revalidate_freq 设定的秒数 检查脚本是否更新。 如果禁用此选项,你必须使用 opcache_reset() 或者 opcache_invalidate() 函数来手动重置 OPcache,也可以 通过重启 Web 服务器来使文件系统更改生效。
单位
默认为
立即学习
“
PHP免费学习笔记(深入)
”;
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
检查脚本时间戳是否有更新的周期,以秒为单位。 设置为 0 会导致针对每个请求, OPcache 都会检查脚本更新。
从官方文档来看:
将
设置为
将
设置为一个适当的值,如
这个时间根据服务器压力灵活调整。
上面设置后,最差情况代码更新30秒后会生效,最快立即生效。
opcode有缓存时间,等待其过期即可。
opcache.validate_timestampsOFFopcache.revalidate_freq秒2opcache.validate_timestampsTrueopcache.revalidate_freq30