相关疑难解决方法(0)

PHP - SSL证书错误:无法获得本地颁发者证书

我在Windows 7上运行PHP版本5.6.3作为XAMPP的一部分.

当我尝试使用Mandrill API时,我收到以下错误:

未捕获的异常'Mandrill_HttpError',消息'API调用消息/发送模板失败:SSL证书问题:无法获取本地颁发者证书'

我已经尝试过在StackOverflow上阅读的所有内容,包括将以下内容添加到php.ini文件中:

curl.cainfo = "C:\xampp\php\cacert.pem"
Run Code Online (Sandbox Code Playgroud)

并且当然从http://curl.haxx.se/docs/caextract.html下载到该位置的cacert.pem文件

但毕竟,重新启动XAMPP和Apache服务器但仍然得到相同的错误.

我真的不知道还有什么可以尝试的.

任何人都可以建议我还能尝试什么?

php xampp ssl curl mandrill

163
推荐指数
9
解决办法
23万
查看次数

PHP CURL 和 SSL 证书(或证书链)

再会!

我有 REST API,可以通过 SSL (https://) 访问。我想将正确的证书(或证书链)与我编写的 PHP 和 CURL 脚本一起发出请求。

以下是来自我的目标 ( http://api.vkontakte.ru ) 的证书在 Firefox 中的样子:

http://speedcap.net/img/bc687485819715c65d6fe1e4ca1fdc40/1a2be.png

以下是从 Firefox 保存的“PEM 格式的证书链 X.509”的片段(此处描述:http ://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access- https-ssltls-protected-sites/ ):

-----BEGIN CERTIFICATE-----
MIIFVzCCBD+gAwIBAgIHKx5Ov2FOejANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
[..skip...]
0npsf5fkvT8E13NgVY0PK6V/baMTlTgWXKQZ
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIE3jCCA8agAwIBAgICAwEwDQYJKoZIhvcNAQEFBQAwYzELMAkGA1UEBhMCVVMx
[..skip...]
qDTMBqLdElrRhjZkAzVvb3du6/KFUJheqwNTrZEjYx8WnM25sgVjOuH0aBsXBTWV
U+4=
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

以下是 CURL 初始化的代码示例:

$this->ch = curl_init();
    curl_setopt_array($this->ch, array(

        CURLOPT_TIMEOUT => 30,
        CURLOPT_RETURNTRANSFER => TRUE,
        CURLOPT_AUTOREFERER => TRUE,
        CURLOPT_FOLLOWLOCATION => TRUE,

        CURLOPT_SSL_VERIFYPEER => TRUE,
        CURLOPT_SSL_VERIFYHOST => 2,
        CURLOPT_CAINFO => <path to my cert>,        
    )); 
Run Code Online (Sandbox Code Playgroud)

我收到 CURL 错误 60 …

php ssl https curl

2
推荐指数
1
解决办法
3万
查看次数

标签 统计

curl ×2

php ×2

ssl ×2

https ×1

mandrill ×1

xampp ×1