php - 即使 file_exists() 返回 true,Laravel PHP require() 也会失败
问题描述
我在 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
文件夹是指向 virtualbox 挂载文件夹的符号链接 - 我在 Centos 6.4 中有完全相同的设置,没有问题
为了安全起见,SELinux 已被禁用。我什至从哪里开始?谢谢你。
要求的代码:
$a = "example/file.php";
if (file_exists($a)) echo "found"; // "found" is echoed
require($a); // throws ErrorException
更新
我花了一个晚上后发布了这个问题。经过更深入的挖掘,我意识到如果我设置一个 xdebug 断点require()
并继续运行,它就可以工作。
这让我相信这是我的 CentOS Linux 版本 7.7.1908(核心)上的一个缓存问题,我在这里发布了一个问题https://github.com/Jeroen-G/laravel-packager/issues/101,注意在我的示例中,file.php
这是一个新下载和提取的文件。
解决方案
推荐阅读
- java - 从向量中获取项目时,PigLatin 翻译器发出越界消息
- python - Django Passing Through List Items
- swift - swift 中的 pho.to API 请求失败
- javascript - How to check if someone has a certain role
- c - 如何在c中实现拉普拉斯展开算法?
- python - Having clipping problems with 3d bar plots in matplotlib
- laravel - Backup failed in Browser, works with php artisan backup:run
- node.js - 尝试在 Node.js 中加载所有 Firestore 文档
- r - auto.arima() function suggesting ARIMA(2,0,0) when time series is non-stationary
- javascript - How can i make a page refresh in a certain time all days?