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.
3 Answers
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

- 5,584
- 1
- 19
- 22
-
1FYI 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
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

- 2,072
- 3
- 22
- 23
did you try the below meta tag in your header?
<meta http-equiv="Cache-control" content="no-cache">