如何将挂载的文件夹链接到 Laravel 项目?
Posted
技术标签:
【中文标题】如何将挂载的文件夹链接到 Laravel 项目?【英文标题】:How can i link the mounted folder to Laravel project? 【发布时间】:2021-05-02 19:53:33 【问题描述】:我有一个 Laravel 项目,放在这里:
/home/user/www/example.com
我们为 vds 附加了一个新的存储并将其挂载
/home/user/www/storage
文件夹。
之后我们需要添加符号链接 /home/user/www/storage 到 /home/user/www/example.com/storage ,但我们不能这样做,因为最后一个已经存在并且包含所需的文件。
我们如何将它链接到项目中的存储文件夹以获得更多空间?
终端输出:
ln -s /home/user/www/storage /home/user/www/example.com/
ln: failed to create symbolic link '/home/user/www/example.com/storage': File exists
【问题讨论】:
请注意,在 Unix/BSD 和 Linux 上,它们也是“目录”,而不是 Windows 的“文件夹”概念,这不是一回事。 【参考方案1】:选项 1
您可以将其链接到另一个位置在storage
文件夹中并创建一个单独的磁盘
$ ln -s /home/user/www/storage/more-space /home/user/www/example.com/
在您的 config/filesystem.php
中,您可以添加一个额外的磁盘
// config/filesystem.php
'disks' => [
'more-space' => [
'local' => [
'driver' => 'local',
'root' => storage_path('more-space'),
],
]
]
并使用它Storage::disk('more-space')
。
选项 2
-
您将当前
storage
文件夹中的所有内容移动到新文件夹/home/user/www/example.com/
使用rm -rf /home/user/www/storage
删除您的storage
文件夹
符号链接新文件夹ln -s /home/user/www/storage /home/user/www/example.com/
【讨论】:
谢谢!我会更喜欢第一个。但为了更好地理解,是否可以为旧内容和更多空间内容设置 /home/user/www/example.com/storage 文件夹? 是的,当然。只需将新内容保存到storage/more-content
并将旧数据保留在当前位置即可。如果你混合,那么你只需要在 Laravel 中找到一种方法来检查两个文件夹,storage/fileX
或 storage/more-content/fileX
。以上是关于如何将挂载的文件夹链接到 Laravel 项目?的主要内容,如果未能解决你的问题,请参考以下文章
在laravel 5.4(存储文件夹)中更改默认的“符号链接”文件夹
如何在 Laravel 5 中将自定义配置文件添加到 app/config?
Laravel 在电子邮件中附加链接,可以将用户重定向到 localhost 项目
在输入'php artisan storage:link'命令后,如何使用Laravel链接存储文件夹在Heroku上显示图像?