我正在使用该软件包用于laravel 5.7
composer require ipecompany/smsirlaravel
我所有的链接都工作正常,但软件包管理面板链接显示ssl错误。 我试图下载cacert.pem文件并将其放在
上C:\wamp64\bin\php\php7.1.9\extras\ssl\cacert.pem
和
C:\wamp64\bin\apache\apache2.4.27\bin\cacert.pem
但由于此错误而没有运气
cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
我正在使用wamp 3.1.0和php版本7.1.9,因此任何想法都可以解决此错误??
答案 0 :(得分:1)
尝试禁用检查:
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
更新
好的,抱歉,我不好,没有注意到您使用的是外部软件包。该软件包使用Guzzle,要在Guzzle中禁用此检查,您需要添加this option。
作为一种选择,您需要创建自己的类并扩展此Ipecompany\Smsirlaravel\Smsirlaravel
类并重写方法。不好的是,在此类的每个方法中,类都会创建GuzzleClient的新实例,因此您需要覆盖所有方法...我建议在您的类$client
中添加字段,并在构造函数中创建它:>
<?php
namespace App\Vendors\Smsirlaravel;
use Ipecompany\Smsirlaravel\Smsirlaravel;
use GuzzleHttp\Client;
class SendSmsIr extends Smsirlaravel {
protected $client;
public function __construct()
{
$this->client = new Client(['verify' => config('smsirlaravel.ssl_verify')]);
}
/** other methods */
}
在config/smsirlaravel.php
中只需将此行添加到数组
'ssl_verify' => false, // true, false or path to certificate '/path/to/cert.pem'