Closed Barbery closed 9 years ago
我们团队最近升级了PHP5.6.x 自带的opcache出现了不会过期的情况,我们排查了下,最终发现是软链的问题,我们的项目发布是软链到一个固定地址执行的,opcache就是在这样的情况下不会过期,导致发布的新版本的代码无法更新。。。
搜索了下,似乎不只是我们遇到这个问题,一下这个文章的作者也是遇到这个问题: https://ma.ttias.be/php-opcache-and-symlink-based-deploys/
这个文章说的很详细啊, 你只能这么做....
哭。。。这个BUG终身没办法修复了嘛?
这个不能说是bug, 只能说实现不同, APC是使用inode, 而Opcache是使用file path. 你可以通过一个脚本调用opcache_reset, 或者invalid变更的文件
脚本调用opcache_reset 在大流量下 ,部分缓存依旧不会被清除。
我们也碰到了这个问题
我们团队最近升级了PHP5.6.x 自带的opcache出现了不会过期的情况,我们排查了下,最终发现是软链的问题,我们的项目发布是软链到一个固定地址执行的,opcache就是在这样的情况下不会过期,导致发布的新版本的代码无法更新。。。
搜索了下,似乎不只是我们遇到这个问题,一下这个文章的作者也是遇到这个问题: https://ma.ttias.be/php-opcache-and-symlink-based-deploys/