Web缓存小记

最近用thinkphp写网页的时候,老是被php缓存问题搞得难受死了,今天终于解决了。

最开始以为是tp框架的缓存问题,可是tp开了调试模式后,缓存都是关的。

后面又怀疑是php缓存的问题,百度之后知道,php是通过http头关闭缓存,我查看了下http头,缓存是关的。

然后还怀疑是nginx缓存,这个时候得知,上面三种(框架,php,nginx)都是缓存js,css静态文件,而我出现的是php缓存问题,比如echo 1; 改成echo 2;,这个不会马上生效。

这个时候就知道前面搜索的方式都是错误的,之后百度,nginx php缓存。。终于找到了。。。

问题是ZendOpcache扩展缓存的问题。

查看是否是这个问题,和修改的方法如下:

  • 访问phpinfo(),查看有没有opcache这个扩展,如果没有,就和我的问题不一样了,下面的可以忽略
  • opcache.revalidate_freq=60 查看这个值是否不等于0,ctrl+f可以快速搜索。
  • 之后修改php.ini文件,同样是快速搜索到相应行,把这个变量的值改为0

Resolved!