php - PHP 7 包含文件错误 - 文件名解析不正确
问题描述
最近我遇到了一个奇怪的错误,希望有人能提供帮助。我们在上面使用LiteSpeed WebServer
and和(嗯,WordPress 是框架)。它运行良好很多天。Nginx
PHP 7.5
MySQL 5
突然它在不同文件中的这一行变得致命
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"
,因此它找不到文件并触发致命错误。
解决方案?我重新上传文件,它可以工作。但随后它在另一个文件中变得致命,在类似的行中使用包含。
我注意到文件名中的第一个字符,例如“c”,被错误地读取并在之前(或之后)移动 1 个字节,所以文件名是正确的。
如
include "class-xxx.php" is parsed/read as "dclass-xxx.php"
include "page-xxx.php" is parsed"read as "opage-xxx.php"
...
这很奇怪。有人知道原因吗?LiteSpeed
它是否与或Nginx
或的任何缓存/内存管理有关PHP 7. ?
它发生在PHP 7
. 只是因为如果我切换到PHP 5.6
,则不会发生错误。
希望有人可以提供帮助。非常感谢。
解决方案
推荐阅读
- python-3.x - 检查项目时如何阻止包含检查按钮的tkinter OptionMenu关闭
- python - 有人可以解释为什么这个导入不会引发错误吗?
- react-bootstrap - react-bootstrap 轮播在移动设备上隐藏控件
- debugging - cmake中的cmdline选项--trace和--debug-output有什么区别?
- r - 如何在虹膜测试数据上应用 Kohonen 可视化?
- javascript - JavaScript:如何从内部函数调用 Bootstrap 模态?
- android - Android 布局未按预期运行
- html - css 垂直按钮组 - 忽略 justify-content
- ruby - Aws::S3::Errors::InvalidArgument (): on bucket.put_object
- javascript - 如何永久修复博客上的小部件脚本