laravel 5.7 cURL error 60: проблема с сертификатом SSL: невозможно получить сертификат локального эмитента - PullRequest
0 голосов
/ 28 января 2019

я использую этот пакет для 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, так что любая идея, как эта ошибка может быть решена ??

1 Ответ

0 голосов
/ 28 января 2019

Попробуйте отключить проверку:

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

ОБНОВЛЕНИЕ

хорошо, извините, мой плохой, не заметил, что вы используете внешний пакет.Этот пакет использует Guzzle, чтобы отключить в Guzzle эту проверку, вам нужно добавить эту опцию .

В качестве опции вам нужно создать свой собственный класс и расширить этот класс 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'

...