PhP - CloudConvert:无法使用已知的CA证书对对等证书进行身份验证。

时间:2017-03-15 14:28:45

标签: php ssl curl cloudconvert

我正在尝试在PhP中使用CloudConvert API而我正在获得以下error

CURLE_SSL_CACERT (60)
Peer certificate cannot be authenticated with known CA certificates.

阅读他们的API源代码我看到他们使用GuzzleClient进行请求。我想如果我只是禁用cURL上的SSL验证它会起作用。我只是不知道如何在全球范围内做到这一点。我知道如何为请求执行此操作:curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);但这对我没有帮助,因为我无法控制CloudConvert如何执行其API请求。

有没有人知道如何解决这个问题?我正在使用MAMP和macOS Sierra运行我的项目。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

刚刚找到解决方案。正如我之前所说的,CloudConvert API可以在构造函数中使用Guzzle客户端,因此我创建了客户端并将证书设置为它:

    $client = new \GuzzleHttp\Client(['verify' => $this->config->application->sslDir . "cacert.pem" ]);
    $api = new Api("xxxxxxx", $client);

        $api->convert([
            'inputformat' => 'html',
            'outputformat' => 'docx',
            'input' => 'upload',
            'file' => fopen('/Users/andre/Projects/x/Quote.html', 'r'),
        ])
            ->wait()
            ->download('/Users/andre/Projects/x/Quote.docx');