我在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服务器但仍然得到相同的错误.
我真的不知道还有什么可以尝试的.
任何人都可以建议我还能尝试什么?
我正在尝试使用cURL编写PHP脚本,该脚本可以通过使用SSL证书的页面授权用户,除了用户名和密码,我似乎无法通过SSL证书阶段.
在这种情况下,curl_setopt($handle, CURLOPT_VERIFYPEER, 0)遗憾的是不是一种选择.证书是身份验证的必要部分,否则我会收到此其他类似SO帖子中提到的错误.
我已尝试使用cURL进行一些命令行运行:
> curl --url https://website
这将返回(60) SLL certificate problem错误.如果我调整命令以包含--cacert选项:
> curl --url https://website --cacert /path/to/servercert.cer
它运作得很好; 返回auth网站.
但是,我尝试了以下PHP代码:
$handle = curl_init();
$options = array(
CURLOPT_RETURNTRANSFER => false,
CURLOPT_HEADER => true,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_SSL_VERIFYHOST => '0',
CURLOPT_SSL_VERIFYPEER => '1',
CURLOPT_CAINFO => '/path/to/servercert.cer',
CURLOPT_USERAGENT => 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)',
CURLOPT_VERBOSE => true,
CURLOPT_URL => 'https://website'
);
curl_setopt_array($handle, $options);
curl_exec($handle);
if (curl_errno($handle)) {
echo 'Error: ' . …Run Code Online (Sandbox Code Playgroud)