PHP 7包含文件错误-文件名解析错误

时间:2018-10-03 04:04:24

标签: php nginx include php-7 litespeed

最近,我遇到了一个奇怪的错误,希望有人可以提供帮助。 我们在顶部使用LiteSpeed WebServerNginx,分别使用PHP 7.5MySQL 5(好吧,WordPress是框架)。它可以很好地运行很多天。

突然在不同文件的这一行它致命了

include ("class-xxx.php");

错误日志显示

[02-Oct-2018 13:04:36 UTC] PHP Fatal error:  require(): Failed opening required 'dlass-xxx.php' (include_path='.:/opt/cpanel/ea-php72/root/usr/share/pear') in /xxx.php on line N

我仔细检查了代码,发现文件名已声明为"class-xxx.php",但是服务器以某种方式尝试包含"dlass-xxx.php",因此它找不到文件并触发致命错误。

解决方案?我重新上传文件,它可以正常工作。但是随后,它在另一个文件中变得致命,在使用include的相似行中。

我注意到文件名中的第一个字符(例如“ c”)读取不正确,并且在文件的前(或后)移了1个字节,因此文件名是正确的。

例如

include "class-xxx.php" is parsed/read as "dclass-xxx.php"
include "page-xxx.php" is parsed"read as "opage-xxx.php"
...

这很奇怪。有人知道原因吗?它与LiteSpeedNginxPHP 7. ?

的任何缓存/内存管理有关吗?

它发生在PHP 7上。仅仅是因为如果我切换到PHP 5.6,就不会发生错误。

希望有人可以提供帮助。非常感谢。

0 个答案:

没有答案