zendtech / ZendOptimizerPlus

Other
914 stars 142 forks source link

opcache在软链的PHP下不会过期? #215

Closed Barbery closed 9 years ago

Barbery commented 9 years ago

我们团队最近升级了PHP5.6.x 自带的opcache出现了不会过期的情况,我们排查了下,最终发现是软链的问题,我们的项目发布是软链到一个固定地址执行的,opcache就是在这样的情况下不会过期,导致发布的新版本的代码无法更新。。。

搜索了下,似乎不只是我们遇到这个问题,一下这个文章的作者也是遇到这个问题: https://ma.ttias.be/php-opcache-and-symlink-based-deploys/

laruence commented 9 years ago

这个文章说的很详细啊, 你只能这么做....

Barbery commented 9 years ago

哭。。。这个BUG终身没办法修复了嘛?

laruence commented 9 years ago

这个不能说是bug, 只能说实现不同, APC是使用inode, 而Opcache是使用file path. 你可以通过一个脚本调用opcache_reset, 或者invalid变更的文件

zhaoqingsong commented 4 years ago

脚本调用opcache_reset 在大流量下 ,部分缓存依旧不会被清除。

wanghongjun2014 commented 4 years ago

我们也碰到了这个问题