Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php不一致地显示对文件的更改_Php_Php 5.5_Opcache - Fatal编程技术网

php不一致地显示对文件的更改

php不一致地显示对文件的更改,php,php-5.5,opcache,Php,Php 5.5,Opcache,我正在对php文件进行更改,但它们有时不会显示出来。有时它们会立即出现。有时我不得不等几分钟。我已经检查并关闭了所有我认为应该关闭的缓存。这个问题是不一致的,很难始终如一地重复 回答我自己的问题 我花了相当长的一段时间进行试验,以不断地重现这种行为。我不得不让服务器在几分钟内不刷新任何页面。然后,如果我在刷新页面之前更改了文件,则更改会立即显示,所有后续更改都会立即显示。如果我先刷新页面,然后对文件进行更改,那么在我刷新10-20次之前,不会显示后续更改,大约如此 顺便说一句,html文件显示所

我正在对php文件进行更改,但它们有时不会显示出来。有时它们会立即出现。有时我不得不等几分钟。我已经检查并关闭了所有我认为应该关闭的缓存。这个问题是不一致的,很难始终如一地重复

回答我自己的问题

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

顺便说一句,html文件显示所有更新,所以这是一个php问题

在找到答案之前,我试着

  • 关闭nginx缓存
  • 将nginx conf设置为
    sendfile关闭
  • 将nginx conf设置为
    过期关闭
。。。这些都不管用。然后我发现它实际上是OPcache。我通过将php.ini文件更改为该文件(并重新启动所有服务)解决了这个问题


opcache.enable=0

我关于此问题的问题已通过参考此链接得到解决

:

作者:


仅供参考,另一种修复此问题的方法是将OPcache.revalidate\u freq改为0
OPcache.revalidate\u freq=0
service php-fpm restart # most centos
service php7-php-fpm restart # centos and remi php7
service php7.0-fpm restart # ubuntu