php OPcache

今天在使用测试服务器的时候,发现服务器上已经预装了诸多php版本,我就切到了php5.6的版本.

在使用中,出现了一个问题:我远程修改了php文件,然后用浏览器发起请求,却发现并没有发生改动,要过个几十秒才改过来.我就很纳闷,是远程登录软件有问题吗?不对啊,我保存的时候,vi明确告诉我修改了什么.

怀疑是nginx使用了缓存,在网上搜了一下,发现nginx有:

1,静态文件的缓存,就是图片之类的,这个直接pass掉;

2.fastcgi_cache缓存,作用是缓存fastcgi生成的内容;

这个2我感觉仍然不是,因为我改了php文件后,虽然返回的不是修改后应得的数据,但是数据也是根据旧代码的逻辑,一直在变化的.

那最大的怀疑就是php了.

再次查找资料,发现我的php有可能开启了OPcache,赶紧去查找php配置文件,果真开启了这个玩意儿.

[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.save_comments=0
opcache.fast_shutdown=1
opcache.enable_cli=1
;opcache.optimization_level=0

OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销

PHP 5.5.0 及后续版本中已经绑定了 OPcache 扩展。 对于 PHP 5.2,5.3 和 5.4 版本可以使用 » PECL 扩展中的 OPcache 库。

关于OPcache配置的官方说明

 

posted @ 2017-08-02 15:32  toDoYourBest  阅读(257)  评论(0编辑  收藏  举报