当我试图使用自己的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文件可以解决这个问题。然而,即使在这样做之后,我仍然会得到相同的错误。
就像我在这里做的一样:
c:/wamp/certs/cacert.pemcurl.cainfo = c:/wamp/certs/cacert.pem我还是会犯同样的错误。我已经验证了我正在使用php.ini编辑正确的phpinfo()。我不明白它为什么还在抱怨。
是否有任何方法可以100%验证我的cacert.pem文件是否已被找到和读取?我查过phpinfo(),里面没有提到它。它应该在哪个地方说,如果它使用的是cacert.pem的话?
谢谢!
发布于 2015-07-08 15:54:03
我也有过同样的问题
遵循以下步骤:
下载以下文件- cacert.pem
然后下载以下文件- thawte_Premium_Server_CA.pem
在文本编辑器中打开第二个文件,并将其内容复制到第一个文件中(cacert.pem位于底部/末端)。
保存cacert.pem并将下列行添加到php.ini中:
[curl]
curl.cainfo=c:/xampp/php/cacert.pem显然,将目录更改为pem所在的目录。重新启动php本地服务器(xampp/wamp)。那它就完美无缺了。
谢谢。
发布于 2015-10-20 14:26:38
编辑TinyHttp.php
并在CURLOPT_SSL_VERIFYPEER => FALSE,数组中添加$opts
发布于 2017-01-08 18:49:53
您可以通过使用所选选项调用Twilio的tiny_http.php构造函数来添加自己的cURL选项,而不是黑客攻击:
$client = new \Twilio\Rest\Client($accountSid, $authToken);
$curlOptions = [ CURLOPT_SSL_VERIFYHOST => false, CURLOPT_SSL_VERIFYPEER => false];
$client->setHttpClient(new CurlClient($curlOptions));
try {
$call = $client->calls->create($from_phone, $phone_number, $callback_url);
print 'Call queued with Twilio';
} catch (\Exception $ex) {
print 'Twilio error: ' . $ex->getMessage();
}https://stackoverflow.com/questions/29153819
复制相似问题