我有一个用 Laravel 构建的系统,系统尝试使用服务器变量对某个文件执行 INCLUDE,该变量返回以下路径 /home/someuser/.... 我在 PHP 中收到错误,该文件是没有找到,即使找到了,当我尝试通过FTP输入文件的文件夹路径时,我找到了该文件,并且在路由时一切正常 /领域/... 但是当路径是/home/someuser/domain时。 我发现找不到该文件。我意识到这是许可访问的问题,可能是主文件夹和用户文件夹的问题。我该如何解决这个问题?
这是我遇到的错误
require(/home/affy/domains/****/public_html/vendor/itstruct/laravel-multi-menu/src/../config/multimenu.php):无法打开流:没有这样的文件或目录
我尝试将 /home 更改为 777,将 /home/affy 更改为 777 我更改了 ftp 设置以允许用户在文件夹之外,现在我可以从 ftp 访问 /home,但我仍然收到错误
您可以尝试为文件所在的文件夹创建一个
symlink
,而不是更改主目录的权限
在项目根目录中创建一个 utils 文件夹并在其中创建符号链接
mkdir -p /home/affy/domains/your-domain/public_html/storage/utils
现在在这里创建一个符号链接
ln -s /home/affy/domains/your-domain/public_html/vendor/itstructure/laravel-multi-menu/config /home/affy/domains/your-domain/public_html/utils/multimenu-config
laravel-multi-menu/config
中的所有内容现在都可以在/utils/multimenu-config
中使用,现在您可以直接使用它或使用composer加载它们。
我这个例子应该可以工作,通常这些问题可以在wsl基础开发中看到。