我正在对 php 文件进行更改,但有时它们没有显示。有时他们会立即表现出来。有时我必须等待几分钟。我已经检查并关闭了所有我能想到关闭的缓存。这个问题是不一致的,并且很难一致地重复。
回答我自己的问题...
我花了相当长的时间进行试验以一致地重现这种行为。我不得不让服务器静置几分钟而不刷新任何页面。然后,如果我在刷新页面之前更改文件,则更改会立即显示,所有后续更改也会立即显示。如果我先刷新页面,然后对文件进行更改,则在刷新 10-20 次左右之前不会显示后续更改。
顺便说一句,html 文件无论如何都会显示所有更新,所以这是一个 php 问题。
在找到答案之前,我尝试过...
sendfile off;
expires off;
...这些都不起作用。然后我发现它实际上是OPcache。我通过将 php.ini 文件更改为此(并重新启动所有服务)来解决该问题
opcache.enable=0
我关于这个问题的问题已通过参考此链接解决了
:Nginx 服务器“缓存”PHP。更新后的页面无法重新加载
作者:
service php-fpm restart # most centos
service php7-php-fpm restart # centos and remi php7
service php7.0-fpm restart # ubuntu
您是否在标题中尝试过以下元标记?
<meta http-equiv="Cache-control" content="no-cache">
尝试按 ctrl+shift+R 进行硬重新加载。 欢迎您。