Laravel PHP require () не выполняется, даже если file_exists () возвращает true - PullRequest
0 голосов
/ 02 марта 2020

Я столкнулся с чрезвычайно загадочной проблемой в Centos 7:

  1. file_exists(example/file.php) возвращает true
  2. Однако require(example/file.php) выдает ErrorException из No such file or directory
  3. Вышеуказанное происходит только внутри Laravel команды
  4. Если бы мне пришлось создать автономный скрипт с 2 строками, например test.php с file_exists(), за которым следует require(), он работает без проблем.
  5. Кроме того, папка example является символической c ссылкой на папку монтирования виртуальной коробки
  6. У меня точно такая же настройка в 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 в моем примере - это недавно загруженный и извлеченный файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...