4

I am making changes to php files and they are not showing -- sometimes. Sometimes they will show immediately. Sometimes I have to wait a few minutes. I've gone through and turned off all the cache that I could think to turn off. The problem is inconsistent and tough to duplicate consistently.

Richard
  • 5,584
  • 1
  • 19
  • 22

3 Answers3

6

Answering my own question...

I spent quite awhile doing trials to consistently reproduce the behavior. I had to let the server sit without refresh any page for a few minutes. Then if I change the file before I refresh the page, the change show immediately and all subsequent changes show immediately. If I refresh the page first, then make a change to the file, then no subsequent changes show until I refresh 10-20 times, or so.

BTW, html files show all updates regardless, so it was a php issue.

Before finding the answer, I tried...

  • turning off nginx cache
  • setting nginx conf to sendfile off;
  • setting nginx conf to expires off;

... none of these work. I then found that it was in fact OPcache. I fixed the issue by changing the php.ini file to this (and restarting all services)

opcache.enable=0

Richard
  • 5,584
  • 1
  • 19
  • 22
  • 1
    FYI another way to fix this, but leave OPcache on is to change opcache.revalidate_freq to 0 instead. `OPcache.revalidate_freq=0` – Richard Feb 25 '16 at 02:52
1

My problem regarding this issue was solved by referring to this link

:Nginx Server “caches” PHP. Updated Page does not Reload

by :

service php-fpm restart # most centos
service php7-php-fpm restart # centos and remi php7
service php7.0-fpm restart # ubuntu
sj59
  • 2,072
  • 3
  • 22
  • 23
0

did you try the below meta tag in your header?

<meta http-equiv="Cache-control" content="no-cache">