0

我有一个使用 envoyer 进行部署的站点。

在我的网站上,用户可以保存图像/头像/等。这些图像被保存到 laravel 的公共路径中。/public/uploads/

这样做的问题是,当我部署更新时,composer 不会将新文件保存在/public/uploads新的发布文件夹中。

每次推送新部署时,是否编写一个部署脚本,将当前版本中 /public/uploads 中的所有内容复制到新版本中?

4

1 回答 1

2

不要将它们存放在 中public/uploads,将它们存放在 中storage/uploads。符号链接storage/uploads到项目并将其完全/public/uploads移出storage/uploads到它自己的目录中。然后符号链接/storage/uploads到您自己的/storage/uploads,如下所示:

ln -s /home/forge/storage/example.com/uploads /home/forge/example.com/storage/uploads
ln -s /home/forge/example.com/storage/uploads /home/forge/example.com/public/uploads

确保位于 的新目录的/home/forge/storage/example.com/uploads所有权与您对/home/forge/example.com.

这将允许存储在设备上的持久性。确保将其symlinks添加到部署过程的一部分,这样您就不会再在每次部署时丢失上传内容。

于 2018-02-22T20:52:50.063 回答