【问题标题】:laravel 5.7 cURL error 60: SSL certificate problem: unable to get local issuer certificatelaravel 5.7 cURL 错误 60:SSL 证书问题:无法获取本地颁发者证书
【发布时间】:2019-06-21 08:11:08
【问题描述】:

我正在将此包用于 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,所以知道如何解决这个错误吗??

【问题讨论】:

标签: php laravel ssl wamp


【解决方案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' =&gt; false, // true, false or path to certificate '/path/to/cert.pem'

【讨论】:

  • 你能告诉我在哪里可以找到这个设置吗??
  • 或者在Client request中直接设置'verify' => false
猜你喜欢
  • 1970-01-01
  • 2021-05-24
  • 2021-05-22
  • 2017-07-19
相关资源
最近更新 更多