PHP 7 включает ошибку файла - имя файла анализируется неправильно

Недавно я встретил странную ошибку и надеюсь, что кто-то может помочь. Мы используем LiteSpeed WebServer а также Nginx сверху, с PHP 7.5 а также MySQL 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"
...

это очень странно Кто-нибудь знает причину? Связано ли это с каким-либо управлением кэшированием / памятью LiteSpeed или же Nginx или же PHP 7. ?

Это происходит на PHP 7, только потому, что если я переключусь на PHP 5.6, ошибки не бывает.

Надеюсь, кто-то может помочь. Большое спасибо.

0 ответов

Другие вопросы по тегам