Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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 我们';“再看”;“腐败”;我们服务器上的opcache。你知道怎么解决吗?_Php_Opcache - Fatal编程技术网

Php 我们';“再看”;“腐败”;我们服务器上的opcache。你知道怎么解决吗?

Php 我们';“再看”;“腐败”;我们服务器上的opcache。你知道怎么解决吗?,php,opcache,Php,Opcache,我们看到了一个我一直在努力解决的奇怪问题 我们时不时地对服务器进行部署,其中一台服务器将开始将错误流式传输到日志中 require_once(): Failed opening required '/var/www/CrrrectPath/Abstract.php' (include_path='/var/www/') in /var/www/CorrectPath/Object.php on line 2 问题并不总是include()。有时方法名也会以同样的方式损坏(一个字符被另一个字符

我们看到了一个我一直在努力解决的奇怪问题

我们时不时地对服务器进行部署,其中一台服务器将开始将错误流式传输到日志中

require_once(): Failed opening required '/var/www/CrrrectPath/Abstract.php' 
(include_path='/var/www/') in /var/www/CorrectPath/Object.php on line 2
问题并不总是
include()
。有时方法名也会以同样的方式损坏(一个字符被另一个字符替换)

在生产环境中调试了受影响的服务器之后,我可以看到文件本身非常好。我的直觉是,文件的opcache正在以某种方式损坏

我们启用了“validate_timestamps”,因此我认为在
rsync
(作为部署的一部分,我们从一个文件夹到“live”文件夹进行r-sync)期间重新读取文件是合理的。然后我们禁用了“验证时间戳”,并在代码完全同步后执行
opcache\u reset()
。这个问题确实发生得不那么频繁,但我们仍然看到了发生的情况

还有其他人遇到过这个问题吗?有没有解决方案的建议(除了完全改变我们的部署方式)

欲知详情

$ php -v
PHP 7.0.21-1~ubuntu14.04.1+deb.sury.org+1 (cli) (built: Jul  6 2017 09:38:10) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.21-1~ubuntu14.04.1+deb.sury.org+1, Copyright (c) 1999-2017, by Zend Technologies

谢谢

这个问题似乎与下面的PHP错误类似


我们在部署时启用“验证时间戳”和不执行
opcache\u reset()
。希望这能解决问题。

可能是随机的,但是-
无法打开所需文件'/var/www/crrectpath/Abstract.php
-这是
打字错误吗?
crrectpath
的第二个字母是,而且
r
不是
o
?@AntonisTsimourtos不是打字错误。这才是真正的问题,也是我们得到的错误。因此,我认为文件的opcache已损坏或出现问题。它解决了问题吗?我们仍然有类似的问题,运行Ubuntu18.4+PHP7.3.3