【问题标题】:How to upload a file using Laravel with Elastic Beanstalk?如何使用 Laravel 和 Elastic Beanstalk 上传文件?
【发布时间】:2018-10-25 03:23:56
【问题描述】:

我在 Elastic Beanstalk 环境中部署了 Laravel 应用程序,但我的所有文件上传功能都无法正常工作。我在网上到处找,但没有什么能解决这个问题。

当我上传文档时,似乎一切正常。没有显示错误。但是,该文件实际上并没有被上传。这让我认为这是导致它的权限,但是,我已使用 .ebextensions 配置将上传文件夹设置为 755,但问题仍然存在。

.ebextensions/{appname}.config

container_commands:
    change_permissions:
        command: chmod 755 /var/www/html/storage/app/public

有人知道这个问题的原因吗?如果可能,我会尽量避免使用 S3,因为使用 Elastic Beanstalk 只是暂时的。

【问题讨论】:

    标签: php laravel amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

    我找到了解决这个问题的方法。原因是我需要将存储链接服务器端更新为公共存储文件夹。所以/public/中的存储链接必须删除,然后重新创建服务器端

    php artisan storage:link
    

    【讨论】:

      【解决方案2】:

      要存储文件,我建议使用 S3 存储桶。使用亚马逊 SDK 来完成。对于 java,请参见 com.amazonaws.services.s3 putObject 接口 AmazonS3。

      当然,您的文件保存代码应该是可插入的,至少有两个实现。一种实现将文件保存到本地磁盘,另一种实现将其存储在 S3 中。您的启动代码应该连接正确的实现。

      【讨论】:

        猜你喜欢
        • 2012-07-05
        • 2015-01-20
        • 2021-11-16
        • 2018-12-21
        • 2015-02-18
        • 2018-07-26
        • 2022-01-13
        • 2020-05-30
        • 2020-05-25
        相关资源
        最近更新 更多