Laravel + AWS S3:cURL错误60

时间:2017-03-19 17:00:20

标签: laravel amazon-web-services amazon-s3 laravel-5 xampp

我正在尝试通过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”来设置本地服务器。我不确定这是否是一个问题或不。)

1 个答案:

答案 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