在本地计算机上使用S3类运行cURL错误但在主机上运行正常

SRe*_*eca 2 php apache curl localhost amazon-s3

我完全迷失了,我不确定是什么导致了这个错误:

致命错误:未捕获的异常'cURL_Exception',消息'cURL resource:Resource id#17; cURL错误:SSL证书问题,验证CA证书是否正常.详细信息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败(cURL错误代码60).有关错误代码的说明,请参见http://curl.haxx.se/libcurl/c/libcurl-errors.html.在C:\ Inetpub\wwwroot\htdocs\TestSite\src_ama\lib\requestcore\requestcore.class.php:824堆栈跟踪:#0 C:\ Inetpub\wwwroot\htdocs\TestSite\src_ama\services\s3.class.php (903):RequestCore-> send_request()#1 C:\ Inetpub\wwwroot\htdocs\TestSite\src_ama\services\s3.class.php(1625):AmazonS3-> authenticate('mybucket',Array)#2 C :\ Inetpub\wwwroot\htdocs\TestSite\class_SysFunc.php(794):AmazonS3-> list_objects('mybucket',Array)#3 C:\ Inetpub\wwwroot\htdocs\TestSite\sub_dashOverview.php(26):SysFunc- > getCartonSize('1.41c388ab584f1 ...')#8 {main}在824行的C:\ Inetpub\wwwroot\htdocs\TestSite\src_ama\lib\requestcore\requestcore.class.php中抛出

我在我的网站上进行此设置的方式,我有一个类,我用它连接到S3,它在我的主机帐户上工作得很好.

class.php

    if(!class_exists('SysFunc')){
        class SysFunc{
            var $s3;
            var $bucket = 'mybucket';

            function __construct() {
                require_once ('amazon/sdk.class.php');
                $this->s3 = new AmazonS3();
            }

            ...More functions
        }
    }
Run Code Online (Sandbox Code Playgroud)

我想知道它是否与我的php.ini文件或Apache配置文件有关.

任何想法都会有帮助.

Lus*_*ian 6

您的本地CA文件可能已损坏.如果您可以访问实际的curl句柄,请尝试:curl_setopt($ ch,CURLOPT_SSL_VERIFYPEER,false);.

编辑:在AWS中,尝试$ s3-> disable_ssl_verification();