我在本地开发环境上使用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'); }
假设您在Windows上使用XAMPP的工作解决方案:
XAMPP服务器
https://curl.haxx.se/docs/caextract.html
C:\ xampp \ php \ extras \ ssl \ cacert.pem
;;;;;;;;;;;;;;;;;;;; ; php.ini Options ; ;;;;;;;;;;;;;;;;;;;; curl.cainfo = "C:\xampp\php\extras\ssl\cacert.pem"
重新启动您的网络服务器/ Apache
问题解决了!
(参考:https : //laracasts.com/discuss/channels/general-discussion/curl-error-60-ssl- certificate-problem-unable-to-get-local-issuer- certificate)