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上显示图像?
在云端开发,但通过远程桌面通过 USB 在本地设备上调试 Android 应用程序
移动端通过ajax上传图片(文件)并在前台展示——通过H5的FormData对象