Twilio PHP - SSL 证书:证书链中的自签名证书

2022-08-30 16:54:32

当我尝试使用他们的PHP库通过Twilio发送消息时,我正在为此错误而苦苦挣扎:

Fatal error: Uncaught exception Services_Twilio_TinyHttpException with message SSL certificate problem: self signed certificate in certificate chain thrown in F:\path\to\site\twilio-php\Services\Twilio\TinyHttp.php on line 119

我在Windows 7上使用wamp。

我当然找到了所有其他关于证书错误的帖子。据我所知,通常更新或添加文件可以解决问题。但是,即使这样做之后,我仍然会得到同样的错误。cacert.pem

就像理智检查一样,这正是我所做的:

  1. 已从此处下载最新的证书:http://curl.haxx.se/ca/cacert.pem
  2. 将此文件放在以下位置c:/wamp/certs/cacert.pem
  3. 更新了 php.ini如下所示:curl.cainfo = c:/wamp/certs/cacert.pem
  4. 已重新启动所有 wamp 服务(包括 apache)

我仍然得到同样的错误。我已经验证我正在编辑正确的php.ini使用.我不知道为什么它仍然在抱怨。phpinfo()

有没有办法100%验证我的文件是否被找到并读取?我已经检查过了,那里没有提到它。它应该说在某个地方,如果它正在使用什么?cacert.pemphpinfo()cacert.pem

谢谢!


答案 1

我有完全相同的问题

请按照下列步骤操作:

下载以下文件 - cacert.pem

然后下载以下文件 - thawte_Premium_Server_CA.pem

在文本编辑器中打开第二个文件,并将其内容复制到第一个文件(底部/末尾)。cacert.pem

保存以下行并将其添加到您的:cacert.pemphp.ini

[curl]
curl.cainfo=c:/xampp/php/cacert.pem

显然,将目录更改为您的pem所在的目录。重新启动 php 本地服务器 (xampp/wamp)。然后它将完美地工作。

谢谢。


答案 2

编辑 Tinyhttp.php

并在数组$opts添加CURLOPT_SSL_VERIFYPEER => FALSE,


推荐