Я столкнулся с чрезвычайно загадочной проблемой в Centos 7:
file_exists(example/file.php)
возвращает true
- Однако
require(example/file.php)
выдает ErrorException
из No such file or directory
- Вышеуказанное происходит только внутри Laravel команды
- Если бы мне пришлось создать автономный скрипт с 2 строками, например
test.php
с file_exists()
, за которым следует require()
, он работает без проблем. - Кроме того, папка
example
является символической c ссылкой на папку монтирования виртуальной коробки - У меня точно такая же настройка в Centos 6.4 без проблем
Для безопасности SE Linux отключен. Где я могу начать? Спасибо.
Код по запросу:
$a = "example/file.php";
if (file_exists($a)) echo "found"; // "found" is echoed
require($a); // throws ErrorException
Обновление
Я опубликовал этот вопрос после того, как провел на нем ночь. После более интенсивного копания я понял, что если установить точку останова xdebug на require()
и продолжить работу, она будет работать.
Это заставляет меня поверить, что это проблема с кэшированием в моем CentOS Linux выпуске 7.7 .1908 (Core) и я опубликовали здесь проблему https://github.com/Jeroen-G/laravel-packager/issues/101, обратите внимание, что file.php
в моем примере - это недавно загруженный и извлеченный файл.