结合干涉图像和Amazon S3,我希望能够从S3中提取一个文件,然后使用Image进行裁剪.这就是我目前所知道的,为什么Storage::get()返回false

$path = 'uploads/pics/123.jpeg';

$exists = Storage::disk('s3')->exists($path); // returns true

$image = Storage::disk('s3')->get($path);     // returns false

从S3方面来看,bucket权限设置为"Everyone",Storage::getVisibility()返回public...我不确定为什么不能像加载本 map 像一样加载图像.

推荐答案

在深入研究代码之后,我发现了这条消息

"Error executing "GetObject" on "file"; AWS HTTP error: file_exists(): open_basedir restriction in effect. File(/etc/pki/tls/certs/ca-bundle.crt) is not within the allowed path(s): (paths)"

首先,我的服务器似乎没有这个文件,但它有!该文件位于另一个文件夹中.

/etc/ssl/certs/ca-certificates.crt

所以,为了解决我在Ubuntu中的问题,我必须创建这个文件夹/etc/pki/tls/certs,然后,符号链接到正确的文件:

cd /etc/pki/tls/certs;
sudo ln -s /etc/ssl/certs/ca-certificates.crt ca-bundle.crt;

编辑php.ini并将/etc/pki/tls/certs/ca-bundle.crt添加到open_basedir配置中.

重启你的php服务器!

对我来说,它解决了问题,希望它有帮助!

Laravel相关问答推荐

Laravel模型嵌入嵌套模型时只附加属性

在GitHub操作中缺少PHPStan和PHPMD输出,但在本地存在

如何在 laravel 中为另一个用户 session()->forget('cart')?

Npm run dev 卡在 APP_URL

如何在 Laravel Passport 中获取刷新令牌?

如何使用 Laravel Passport 在 API 中正确实现 OAuth?

Laravel,没有shell 访问的转储自动加载

覆盖 HTTP 标头的默认设置 (X-FRAME-OPTIONS)

即使上传了文件,Laravel Input::hasFile('image') 也会返回 false

Guzzle - Laravel如何使用 x-www-form-url-encoded 发出请求

我的composer 不会完全用 Laravel 4 更新它会被artisan卡住

Laravel 5.1 如何在Blade 文件上使用 {{ old('') }} 助手进行无线电输入

在 laravel 如何将额外的数据传递给 mutators 和 accessors

Laravel 4:读取由 javascript 设置的 cookie

Laravel 验证 - 输入必须是数组中的项目之一

在 php Laravel 5 中创建自定义帮助函数的最佳实践是什么?

安装后在 Lumen 中找不到页面

Lumen/Laravel 6:调用未定义的函数 array_except()

Laravel 5 new auth:获取当前用户以及如何实现角色?

Laravel 将附加参数传递给函数