storage:link 在通过 codecommit 将 laravel 应用程序部署到弹性 beanstalk 时无法正常工作

Posted

技术标签:

【中文标题】storage:link 在通过 codecommit 将 laravel 应用程序部署到弹性 beanstalk 时无法正常工作【英文标题】:storage:link not working properly while deploying laravel application to elastic beanstalk via codecommit 【发布时间】:2021-12-14 07:22:15 【问题描述】:

我正在使用 Elastic Beanstalk 环境来托管我的 Laravel 应用程序。

当我使用 EB CLI 进行部署时,我使用 CodeCommit 作为代码源。

最后,我使用 .ebextensions 文件夹中的 init.config 文件为我的 EC2 实例自动运行一些命令。

//init.config inside .ebextensions
container_commands:
    01storagelink:
        command: "php artisan storage:link"

此命令在我进行部署时有效,但它将公共/存储链接到意外路径(对我而言),如图所示:

应该是这样的:

我该如何解决这个问题? (我会在此期间继续研究)

【问题讨论】:

【参考方案1】:

我发现它为什么在暂存目录下创建符号链接:

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#linux-container-commands

遗憾的是我没有阅读文档的相关部分,但当时我有点着急。

我没有找到解决方案,而是发现我需要设置外部存储:

How to update a laravel project in aws Elastic beanstalk, while keeping the same storage

所以,我设置了一个 S3 存储桶,暂时不需要 storage:link。

【讨论】:

以上是关于storage:link 在通过 codecommit 将 laravel 应用程序部署到弹性 beanstalk 时无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

在输入'php artisan storage:link'命令后,如何使用Laravel链接存储文件夹在Heroku上显示图像?

下拉框多选框单选框 通过TagHelper绑定数据

在云端开发,但通过远程桌面通过 USB 在本地设备上调试 Android 应用程序

移动端通过ajax上传图片(文件)并在前台展示——通过H5的FormData对象

在c / c ++中何时通过引用传递以及何时通过值传递[重复]

在Android Emulator中没有连接互联网,当通过热点通过手机上网时