php 未一致地显示文件更改

问题描述 投票:0回答:4

我正在对 php 文件进行更改,但有时它们没有显示。有时他们会立即表现出来。有时我必须等待几分钟。我已经检查并关闭了所有我能想到关闭的缓存。这个问题是不一致的,并且很难一致地重复。

php php-5.5 opcache
4个回答
6
投票

回答我自己的问题...

我花了相当长的时间进行试验以一致地重现这种行为。我不得不让服务器静置几分钟而不刷新任何页面。然后,如果我在刷新页面之前更改文件,则更改会立即显示,所有后续更改也会立即显示。如果我先刷新页面,然后对文件进行更改,则在刷新 10-20 次左右之前不会显示后续更改。

顺便说一句,html 文件无论如何都会显示所有更新,所以这是一个 php 问题。

在找到答案之前,我尝试过...

  • 关闭 nginx 缓存
  • 将 nginxconf 设置为
    sendfile off;
  • 将 nginxconf 设置为
    expires off;

...这些都不起作用。然后我发现它实际上是OPcache。我通过将 php.ini 文件更改为此(并重新启动所有服务)来解决该问题

opcache.enable=0


1
投票

我关于这个问题的问题已通过参考此链接解决了

Nginx 服务器“缓存”PHP。更新后的页面无法重新加载

作者:

service php-fpm restart # most centos
service php7-php-fpm restart # centos and remi php7
service php7.0-fpm restart # ubuntu

0
投票

您是否在标题中尝试过以下元标记?

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

0
投票

尝试按 ctrl+shift+R 进行硬重新加载。 欢迎您。

© www.soinside.com 2019 - 2024. All rights reserved.