Laravel envoy -存储用户上传的地方


Laravel Envoyer - Where to store user uploads

Docs基本上说我需要一个envoyer-root/storage文件夹以及envoyer-root/currentenvoyer-root/releases,然后使用系统链接将envoyer-root/storage链接到envoyer-root/releases/{latest one}/public/storage,以便读取这些文件。

似乎没有人解释的是,新上传的文件保存到哪里?根据我的申请,它们将被上传到envoyer-root/releases/{latest one}/public/storage,但这不会使新版本可以访问。

我必须创建一个部署后,手动复制所有文件从以前的版本到envoyer-root/storage文件夹,然后链接它吗?我错过什么了吗?

PD:作为参考,我使用特使与非laravel项目,所以我需要了解如果我必须修改我的源代码与特使工作(这对我来说似乎很臭,但我们已经为此付出了代价),或者如果我不这样做,我没有看到的东西。

使用"Linked Folders"(在Deployment hooks选项卡中)创建从当前部署的版本到服务器上共享存储文件夹的符号链接。

因此,在您的情况下,您希望创建一个从当前部署的版本到envoyer-root/storage的符号链接。在envoy中,来自/link at的链接相对于"PHP项目根",这是您当前部署的版本,而to链接相对于服务器根,因此您将有:

创建链接:public/storage(相对于发布路径)To: storage(相对于服务器根)

通过链接文件夹特性创建的符号链接是在每次部署中创建的,因此它将始终为每个新版本创建一个符号链接。