我正在尝试使用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']);
});
需要有关如何解决此问题的帮助。
答案 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"