线上适合一直开启opcache吗?会不会出现幽灵bug

不懂 opcache 缓存原理,但是对 laravel 提升太显著了,又很想应用,就是怕出现 bug 啥的

什么情况下不适合开启 opcache 呢

本作品采用《CC 协议》,转载必须注明作者和本文链接
reading
白小二
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 9

不懂就问什么是幽灵bug

2年前 评论
白小二

@Silly-dog 我也不知道啊,现在在找最佳使用方式,缓存文件不完全,新旧缓存混合,占用太大内存,缓存更新不及时(这个倒没啥),就怕新旧混合的时候,新文件找不到依赖,比如新文件 use app\users,没找到users,就直接报错

2年前 评论

有代码更新的时候,最好清理opcache的缓存

2年前 评论

可以一直开,目前我线上项目,连续运行3年了,都是开着opcache的,这东西对我们是透明的,基本不会遇到什么问题。
它有1分钟的缓存时间,就是比如你更新线上代码,可能1分钟左右才会生效,这也不算什么问题吧,本来你项目更新就是一个过程。

2年前 评论

PHP 7 出来用到现在,没发现什么 bug 和 👻 bug

2年前 评论

opcache很多配置 看清楚使用肯定不会出问题

2年前 评论

opcache 运行配置

opcache介绍 知乎文章

我觉得开启opcache,缓存住的opcode就是类似java的class文件。只要本身代码运行没问题 是不会出现问题的。 如果害怕出现新旧文件缓存 可以考虑取消文件热更新用docker容器 + 一个容器编排的进行滚动更新。或者手动进行控制opcache更新

2年前 评论

opcache 建议开,没问题。开发的时候,在项目的 public/user.ini 中添加 opcache.enable=0,代码层面关闭,非常友好。

2年前 评论

放心用吧 建议关闭时间戳验证, 更新代码时手动清理缓存

ini:
opcache.validate_timestamps=0

reset:
opcache_reset()
2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!