Rootop 服务器运维与web架构

关于php中的opcache缓存

opcache 参数配置及解释:
参考 https://www.cnblogs.com/lamp01/p/8985068.html
opcache 原理及缓存哪些代码:
参考 https://www.awaimai.com/2684.html

opcache在php7.0之前需要单独安装,之后自带。

php.ini几个主要配置:

# 开启缓存,默认此行已经注释掉,默认为开启状态,0为关闭。
opcache.enable=1
# 检查文件是否更新,0为不检查,表示为一直不过期,即使更新代码也不变,除非重启服务或手动刷新。
opcache.validate_timestamps=1
# 缓存过期时间,单位秒
opcache.revalidate_freq=60

即:validate_timestamps=1时,则会在revalidate_freq=60秒后再去检查脚本是否变化,如有变化则更新缓存。
更多的配置参数查看上面链接。

ps:
opcache的相关配置参数状态可以通过phpinfo()函数获取。

测试效果,创建个1.php:
这里直接返回一个字符串。

<?php
echo 'aaa';

然后用浏览器访问后返回aaa,再去修改php文件

<?php
echo 'aaabbb';

浏览器刷新,依旧是显示aaa,表明opcache生效,60秒后访问才变为aaabbb。

之所以测试这个opcache功能是因为有群友问苹果cms后台添加内容后,前端页面不显示添加的内容。
需要过一段时间后才出现。查资料说是opcache导致的。
怀疑是此cms自己生成了前端缓存页面,比如xxx.php做为前端的缓存,不用每次生成,后台更新后,xxx.php虽然更新了,但是opcache缓存还没刷新导致。

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/4633.html

赞赏

微信赞赏支付宝赞赏

作者:Venus

专注于 服务器运维与web架构 E-mail:venus#rootop.org

评论已关闭。