繁体   English   中英

Twilio:SSL 证书问题:无法获取本地颁发者证书

[英]Twilio: SSL certificate problem: unable to get local issuer certificate

我正在尝试使用 PHP 中的 Twilio 使用其站点上包含的示例代码发送 SMS,如此处的文档中所示

这是我尝试使用 Twilio 代码运行 PHP 文件时遇到的错误的完整描述:

Fatal error: Uncaught Twilio\Exceptions\EnvironmentException: SSL certificate problem: unable to get local issuer certificate in C:\wamp\www\uniSoftX\vendor\twilio\sdk\src\Twilio\Http\CurlClient.php on line 40

Twilio\Exceptions\EnvironmentException: SSL certificate problem: unable to get local issuer certificate in C:\wamp\www\uniSoftX\vendor\twilio\sdk\src\Twilio\Http\CurlClient.php on line 40

经过研究,我发现 Twilio 的一篇文章说这个问题可能是由于 Twilio 将其根证书更改为 DigiCert Global Root CA 引起的。 我安装了那个根证书,但仍然没有运气。

我在 windows 和 PHP 7.24 运行 WAMP 服务器。

这是我的代码:

<?php


require_once "../vendor/autoload.php";

use Twilio\Rest\Client;

$sid = "0000000000000000000000000";
$token = "000000000000000000000000";
$twilio = new Client($sid, $token);

$message = $twilio->messages
                  ->create("+0000000000", // to
                           [
                               "body" => "This is the ship that made the Kessel Run in fourteen parsecs?",
                               "from" => "+0000000000",
                               "mediaUrl" => ["https://c1.staticflickr.com/3/2899/14341091933_1e92e62d12_b.jpg"]
                           ]
                  );

print($message->sid);
?>
  1. 下载以下 pem 文件: https://curl.haxx.se/ca/cacert.pem

  2. 将此文件复制到 c:\cert\cacert.pem

  3. 在您最喜欢的编辑器中打开 php.ini 文件(请参阅此处了解在哪里找到它)

  4. 如果您的php.ini中存在以下配置字符串:curl.cainfo,请去掉“;”取消注释并修改路径以将其指向您下载的 cacert.pem 文件,例如:

curl.cainfo=c:\cert\cacert.pem
  1. 重新启动 Apache 或 IIS 服务以应用更改。

参考: https://support.twilio.com/hc/en-us/articles/235279367-Twilio-PHP-helper-library-SSL-certificate-problem-on-Windows

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM