如何在Laravel项目中使用OpenSSL在Wamp中配置本地发行者证书?

时间:2019-02-27 13:19:36

标签: laravel-5

我正在尝试使用Nexmo在本地发送SMS,但是我将Wamp服务器配置为使用OpenSSL,但是当我尝试发送时,出现此错误。

cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

我是从web.php这样的一条路由中发送邮件的,

Route::get( '/sms/send/{to}', function(\ Nexmo\Client $nexmo, $to){
     $message = $nexmo->message()->send([
        'to' => $to,
        'from' => env('NEXMO_NUMBER'),
        'text' => 'Sending SMS from Laravel. Woohoo!'
    ]);
    Log::info('sent message: ' . $message['message-id']);
});

需要有关如何解决此问题的帮助。

1 个答案:

答案 0 :(得分:0)

来源:https://github.com/nexmo/nexmo-php#troubleshooting

  

由于以下错误,一些用户在发出请求时遇到问题:

     
    

致命错误:消息'cURL错误60的未捕获异常'GuzzleHttp \ Exception \ RequestException':SSL证书问题:无法获取本地颁发者证书(请参见http://curl.haxx.se/libcurl/c/libcurl-errors.html

  
     

这是由于某些PHP安装未附带受信任的CA证书列表。这是系统配置问题,并非特定于cURL或Nexmo。

     

重要提示:在下一段中,我们提供指向CA证书捆绑包的链接。 Nexmo不保证此捆绑包的安全性,因此,在您的计算机上安装任何CA捆绑包之前,您应该先对其进行检查。

     

要解决此问题,请下载受信任的CA证书列表(例如curl捆绑包)并将其复制到您的计算机上。完成此操作后,编辑php.ini并设置curl.cainfo参数:

Linux/MacOS
curl.cainfo = "/etc/pki/tls/cacert.pem"
Windows
curl.cainfo = "C:\php\extras\ssl\cacert.pem"