【问题标题】:Laravel Vapor PHP error while trying to upload file form front-end尝试从前端上传文件时出现 Laravel Vapor PHP 错误
【发布时间】:2023-02-21 11:58:56
【问题描述】:

错误:缺少环境变量:AWS_BUCKET、AWS_DEFAULT_REGION、AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY

由于他的大小(6.8mb),我正在使用 laravel-vapor lib 从前端上传文件

我要上传的代码:

showAlert() {   
        alert("vou entrar");        
        try {
            
            Vapor.store(this.$refs.file.files[0], {
progress: progress => {
    this.uploadProgress = Math.round(progress * 100);
}
,visibility: 'public-read'
}).then(response => {
    axios.post('/api/tempmedia', {
        uuid: response.uuid,
        key: response.key,
        bucket: response.bucket,
        name: this.$refs.file.files[0].name,
        content_type: this.$refs.file.files[0].type,
    })
});
            } catch (error) {
                alert(error.message);
            }   

我的环境:

AWS_ACCESS_KEY_ID="..."
AWS_SECRET_ACCESS_KEY="..."
AWS_DEFAULT_REGION=...
AWS_REGION=...
AWS_BUCKET=...
AWS_BUCKET_URL=...

我的连接是正确的,因为我之前从后端添加过文件。

我已经尝试过 php artisan config:cachephp artisan config:clear 但错误仍然存​​在

【问题讨论】:

  • 这是因为您的 .env 文件中未设置给定变量。
  • 正如我上面提到的,显然我的 .env 文件一切正常,我在上面分享了它并且它具有必填字段
  • 你的领域也有价值吗?喜欢AWS_ACCESS_KEY_ID=SOME_AWS_KEY
  • 这些字段具有正确的值,我只是将它们更改为点,以免包含敏感内容
  • 你在使用多个 .env 文件吗?您能否通过运行命令vapor env:pull ENVIRONMENT_NAME 拉取您的环境并查看.env.ENVIRONMENT_NAME 的内容。它有提到钥匙吗?将 ENVIRONMENT_NAME 替换为您的环境。

标签: php laravel vue.js laravel-vapor


【解决方案1】:

您需要为要部署到的环境拉取然后推送 .env。 用于生产

vapor env:pull production

这将下载一个您可以编辑的文件 (.env.production)。像在普通 .env 文件中一样添加环境变量。然后保存并:

vapor env:push production

然后vapor deploy production

【讨论】:

    猜你喜欢
    • 2019-04-17
    • 2020-10-01
    • 2011-06-02
    • 1970-01-01
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多