如何使用带有Elastic Beanstalk的Laravel上传文件?

时间:2018-05-15 10:18:05

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

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

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

.ebextensions / {应用程序的名字的.config}

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

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

php artisan storage:link