当尝试使用Twilio的PHP库发送消息时,我遇到了这个错误:
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
文件可以解决问题。但是,即使这样做,我仍然会遇到相同的错误。
作为一个理智检查,在此说明我所做的事情:
- 从这里下载了最新的证书:http://curl.haxx.se/ca/cacert.pem。
- 将此文件放置在以下位置:
c:/wamp/certs/cacert.pem
- 将php.ini更新如下:
curl.cainfo = c:/wamp/certs/cacert.pem
- 重新启动了包括Apache在内的所有WAMP服务
但我仍然会遇到相同的错误。我已经通过phpinfo()
验证我正在编辑正确的php.ini。我无法理解它为什么还要抱怨。
是否有任何方法可以100%验证我的cacert.pem
文件是否被找到和读取? 我已经检查了phpinfo()
,并没有提及它。 它应该在哪里声明它正在使用哪个(如果有)cacert.pem
文件吗?
谢谢!
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
。我知道这是一种不太好的方法,但我只在开发中使用它。我的生产服务器正在使用SSL而没有任何问题。 - jd182