PHP opcache缓存导致的问题

自从开启了opcache以来,开发的时候一直存在一些缓存问题,

后来又开启了redis及其他的,开始没在意,每次修改文件刷新半天,界面都没变化

等10-60s左右刷新才能正常显示最新修改。

今天把文件修改了更新到服务器才发现,服务器上的页面实时更新变化,

一顿猛操作排查,才发现是opcache导致的。

opcache.validate_timestamps=60
如果启用,那么 OPcache 会每隔 opcache.revalidate_freq 设定的秒数 检查脚本是否更新。 
如果禁用此选项,你必须使用 opcache_reset() 或者 opcache_invalidate() 函数来手动重置 OPcache,
也可以 通过重启 Web 服务器来使文件系统更改生效。
#提示:在opcache使用软连接的情况下,会存在opcache没有被清除的情况.可以使用重启fastcgi来解决这个问题.

 

; 一定时间内检查文件的修改时间, 这里设置检查的时间周期, 默认为 2, 单位为秒
;检查脚本时间戳是否有更新的周期,以秒为单位。设置为 0 会导致针对每个请求, OPcache 都会检查脚本更新。
opcache.revalidate_freq=60

然后注释掉;opcache.revalidate_freq=60终于正常了

 

资料:

https://www.cnblogs.com/lishanlei/p/9548884.html

https://blog.csdn.net/why_2012_gogo/article/details/51134674

 

你可能感兴趣的:(PHP)