dar*_*ue3 15 amazon-s3 laravel
结合Intervention Image和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
Run Code Online (Sandbox Code Playgroud)
从S3方面来看,存储桶权限设置为'Everyone',Storage::getVisibility()返回public...我不知道为什么我无法加载图像,就好像它是本地图像一样.
在深入挖掘代码后,我发现了这条消息
"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)"
Run Code Online (Sandbox Code Playgroud)
首先,似乎我的服务器没有这个文件,但它有!该文件位于另一个文件夹中.
/etc/ssl/certs/ca-certificates.crt
Run Code Online (Sandbox Code Playgroud)
因此,为了解决我在Ubuntu中的问题,我必须创建此文件夹/etc/pki/tls/certs,然后将符号链接到正确的文件:
cd /etc/pki/tls/certs;
sudo ln -s /etc/ssl/certs/ca-certificates.crt ca-bundle.crt;
Run Code Online (Sandbox Code Playgroud)
编辑您的php.ini并添加/etc/pki/tls/certs/ca-bundle.crt到open_basedir配置中.
重启你的php服务器!
对我来说它解决了问题,希望它有所帮助!
| 归档时间: |
|
| 查看次数: |
798 次 |
| 最近记录: |