一尘不染

cURL错误60:SSL证书:无法获取本地颁发者证书

php

我在本地开发环境上使用WAMP,并尝试从信用卡中扣款,但收到错误消息:

cURL错误60:SSL证书问题:无法获取本地颁发者证书

我在Google上进行了很多搜索,很多人建议我下载此文件:cacert.pem,将其放在某个位置,然后在php.ini中引用它。这是我的php.ini中的部分:

curl.cainfo = "C:\Windows\cacert.pem"

但是,即使多次重新启动服务器并更改了路径后,我仍然收到相同的错误消息。

我使用来自Apache模块的WAMP并启用了ssl_module。从PGP扩展中,我启用了php_curl。

仍然是相同的错误消息。为什么会这样呢?

现在,我正在执行此修复程序:如何修复PHP CURL错误60 SSL

这表明我将这些行添加到我的cURL选项中:

curl_setopt($process, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem');
curl_setopt($process, CURLOPT_SSL_VERIFYPEER, true);

在哪里向我的cURL添加选项?显然不是通过命令行,因为我的CLI找不到命令“ curl_setopt”

编辑

这是我正在运行的代码:

public function chargeStripe()
{
    $stripe = new Stripe;
    $stripe = Stripe::make(env('STRIPE_PUBLIC_KEY'));

    $charge = $stripe->charges()->create([
        'amount'   => 2900,
        'customer' => Input::get('stripeEmail'),
        'currency' => 'EUR',
    ]);

    dd($charge);

    // echo $charge[Input::get('stripeToken')];


    return Redirect::route('step1');
}

阅读 627

收藏
2020-05-26

共1个答案

一尘不染

假设您在Windows上使用XAMPP的工作解决方案:

XAMPP服务器

  1. 其他环境类似
    • 在此处下载并提取cacert.pem(干净的文件格式/数据)

https://curl.haxx.se/docs/caextract.html

  1. 将其放在以下目录中。

C:\ xampp \ php \ extras \ ssl \ cacert.pem

  1. 在您的php.ini中,将此行放在本节中(“ c:\ xampp \ php \ php.ini”):
;;;;;;;;;;;;;;;;;;;;
; php.ini Options  ;
;;;;;;;;;;;;;;;;;;;;

curl.cainfo = "C:\xampp\php\extras\ssl\cacert.pem"
  1. 重新启动您的网络服务器/ Apache

  2. 问题解决了!

(参考:https :
//laracasts.com/discuss/channels/general-discussion/curl-error-60-ssl-
certificate-problem-unable-to-get-local-issuer-
certificate)

2020-05-26