Почему я получаю Неустранимая ошибка: исключить исключение «GuzzleHttp \ Exception \ RequestException» с сообщением «ошибка cURL 60

Я делаю проект в laravel. Я использую plivo api для отправки sms. Для этого я следовал всем шагам, упомянутым в

https://www.plivo.com/docs/getting-started/send-a-single-sms/ .

но когда я попытался запустить свой php-файл, я получаю сообщение об ошибке как

«Неустранимая ошибка: исключить исключение« GuzzleHttp \ Exception \ RequestException »с сообщением« ошибка cURL 60: проблема сертификата SSL: самоподписанный сертификат в цепочке сертификатов »(см. Http://curl.haxx.se/libcurl/c/libcurl-errors. html ) 'в G: \ Xampp \ htdocs \ plivoTrial \ vendor \ guzzlehttp \ guzzle \ src \ Handler \ CurlFactory.php: 187 Трассировка стека: # 0 G: \ Xampp \ htdocs \ plivoTrial \ vendor \ guzzlehttp \ guzzle \ src \ Handler \ CurlFactory.php (150): GuzzleHttp \ Handler \ CurlFactory :: createRejection (объект (GuzzleHttp \ Handler \ EasyHandle), массив) # 1 G: \ Xampp \ htdocs \ plivoTrial \ vendor \ guzzlehttp \ guzzle \ src \ Handler \ CurlFactory.php (103): GuzzleHttp \ Handler \ CurlFactory :: finishError (Object (GuzzleHttp \ Handler \ CurlHandler), Object (GuzzleHttp \ Handler \ EasyHandle), Object (GuzzleHttp \ Handler \ CurlFactory)) # 2 G: \ Xampp \ htdocs \ plivoTrial \ vendor \ guzzlehttp \ guzzle \ src \ Handler \ CurlHandler.php (43): GuzzleHttp \ Handler \ CurlFactory :: finish (объект (GuzzleHttp \ Handler \ CurlHandler), объект (GuzzleHttp \ Handler \ EasyHandle), объект ( GuzzleHttp \ Handler \ Cur lFactory)) # 3 G: \ Xampp \ htdocs \ plivoTria в G: \ Xampp \ htdocs \ plivoTrial \ vendor \ guzzlehttp \ guzzle \ src \ Handler \ CurlFactory.php в строке 187 ".

Мой php-файл выглядит,

<?php require 'vendor/autoload.php'; use Plivo\RestAPI; $auth_id = "xxxxxxxxxxxxx"; $auth_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"; $p = new RestAPI($auth_id, $auth_token); // Set message parameters $params = array( 'src' => 'xxxxxxxxxxx', 'dst' => '91xxxxxxxxxx', 'text' => 'Hi, I am Amarja :)', 'url' => 'http://localhost/untitled/sentsms.php', 'method' => 'POST' ); // Send message $response = $p->send_message($params); echo "Response : "; print_r ($response['response']); echo "<br> Api ID : {$response['response']['api_id']} <br>"; echo "Message UUID : {$response['response']['message_uuid'][0]} <br>"; ?> 

Я не понимаю, как решить эту проблему. пожалуйста, помогите и много спасибо заранее.

Не отключать SSL

Вместо этого исправьте установку PHP .

Эти направления работали для меня в Windows.

Эта проблема возникает, когда ваши корневые сертификаты CA отсутствуют или устарели. Поскольку на данный момент ВСЕ установки платформы PHP для Windows не включают в дистрибутив корневые сертификаты CA, это гораздо более распространено в Windows, чем в Linux.

Вот как вы обновляете корневые сертификаты CA:

  1. Загрузите обновленную копию корневых сертификатов CA.
  2. Сохраните файл «cacert.pem» на свой компьютер. Например c: \ xampp \ php
  3. Добавьте местоположение файла «cacert.pem» с шага 2 в файл php.ini .
    Найдите [curl] в файле php.ini и обновите или добавьте следующую строку:
    curl.cainfo=c:\xampp\php\cacert.pem
  4. Перезагрузите веб-сервер.

Curl теперь имеет действующий набор корневых сертификатов CA и может проверять SSL-сертификаты удаленных серверов.

Если вы используете какие-либо примеры PHP для платформы Google Cloud Platform на компьютере под управлением Windows, вы получите следующую ошибку cURL: CURLE_SSL_CACERT (60). Сертификат Peer не может быть аутентифицирован с помощью известных сертификатов CA. Эта ошибка теперь должна быть понятной и как ее исправить.