亚马逊S3上的wamp localhost SSL错误

Cyb*_*kie 14 php ssl curl amazon-s3

我正在尝试在我的localhost上测试PHP Amazon S3但是仍然遇到同样的错误:

致命错误:未捕获的异常'cURL_Exception',消息'cURL resource:Resource id#69; cURL错误:SSL证书问题,验证CA证书是否正常.详细信息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败(cURL错误代码60).有关 错误代码的说明,请参见http://curl.haxx.se/libcurl/c/libcurl-errors.html.在C:\ wamp\www\mysite\application\libraries\awsphp\lib\requestcore\requestcore.class.php:829堆栈跟踪:#0 C:\ wamp\www\mysite\application\libraries\awsphp\sdk.class .php(1034):RequestCore-> send_request()#1 C:\ wamp\www\mysite\application\libraries\awsphp\services\sqs.class.php(250):CFRuntime-> authenticate('ListQueues',Array )#2 C:\ wamp\www\mysite\application\libraries\awsphp\services\sqs.class.php(582):AmazonSQS-> authenticate('ListQueues',Array)#3 C:\ wamp\www\mysite\application\controllers\uploads.php(33):AmazonSQS-> list_queues()#4 [内部函数]:上传 - > aw3()#5 C:\ wamp\www\mysite\system\core\CodeIgniter.php( 359):第829行的C:\ wamp\www\mysite\application\libraries\awsphp\lib\requestcore\requestcore.class.php中的call_user_func

测试代码:

$sqs = new AmazonSQS();
$response = $sqs->list_queues();
var_dump($response->isOK());
Run Code Online (Sandbox Code Playgroud)

我正确地将AWS SDK安装到php文件,并在本地服务器上启用了CURL和SSL.我能做些什么来完成这项工作?我在网上找不到任何帮助.我正在使用wamp.

Dav*_*dom 50

  1. 获取此文件并将其保存到硬盘驱动器中.叫它cacert.pem.
  2. curl.cainfo在php.ini中配置步骤1中下载的文件的完整路径.
  3. 重启Apache.

我将把它作为练习让读者找出为什么要修复它,你需要的所有信息都可以在上面的链接中找到.

  • 真棒.谢谢!对我来说,我使用AWS SDK(SQS)在WAMP上遇到了麻烦.阅读本文后,我将AWS SDK中包含的cacert.pem文件(此处为https://github.com/amazonwebservices/aws-sdk-for-php/tree/master/lib/requestcore)复制到C:\code\cacert.pem,然后我把它添加到我的php.ini的底部:`curl.cainfo = C:\ code\cacert.pem` (5认同)
  • 为此欢呼!根据我的理解,我需要一个有效的SSL证书才能连接到正确的服务器.我在php.ini文件的底部添加了`curl.cainfo ="C:/cacert.pem"`,错误消失了.它还可以添加`curl_setopt($ ch,CURLOPT_SSL_VERIFYHOST,0);`和`curl_setopt($ ch,CURLOPT_SSL_VERIFYPEER,0);`但它不安全 (2认同)