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