我正在尝试通过Laravel创建一个网页,该网页可以将文件(从图像开始,但希望在某些时候升级到.doc / .pdf)上传到AWS S3存储桶。我已经按照以下教程关于构建一个简单的页面:
http://itsolutionstuff.com/post/laravel-5-amazon-s3-file-upload-tutorial-part-1example.html
不幸的是,我目前面临以下错误:
WrappedHttpHandler.php第192行中的S3Exception:
执行“ListObjects”时出错 “https://s3-us-west-2.amazonaws.com/ ...”; AWS HTTP错误:cURL错误60:SSL证书问题:无法获取 本地发行人证书(见 http://curl.haxx.se/libcurl/c/libcurl-errors.html)
我已经从https://curl.haxx.se/ca/cacert.pem下载了cacert.pem文件并将其插入到php.ini中,我仍然面临这个错误。为了更加彻底,我将它添加到php.ini-production和php.ini-development文件中,但没有任何改变。我还在做什么错?
(我将补充说我目前正在使用Windows 10笔记本电脑并已下载XAMPP,但我仍然使用“php artisan serve”来设置本地服务器。我不确定这是否是一个问题或不。)
答案 0 :(得分:0)
您是否已按照此问题中的所有内容https://stackoverflow.com/a/38667282/3429655?
还有一件事可能有帮助,就是在你的curl调用中添加一个不验证SSL的参数,因为这是你的本地环境,这在你的托管开发环境中可能没问题,因为大多数托管公司都会整理他们的SSL证书.pem文件等。
将CURLOPT_SSL_VERIFYPEER设置为false以禁用CA检查。
// connect via SSL, but don't check cert
$handle=curl_init('https://s3-us-west-2.amazonaws.com/');
curl_setopt($handle, CURLOPT_VERBOSE, true);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
$content = curl_exec($handle);
echo $content; // show target page