Laravel 10集成Twilio遇SSL证书错误:unable to get local issuer certificate
解决WAMP环境下Laravel 10集成Twilio时的SSL证书错误
出现SSL certificate problem: unable to get local issuer certificate错误,是因为PHP的cURL无法验证Twilio服务器的SSL证书,下面是具体解决步骤:
方法一:配置CA证书(推荐生产环境使用)
- 下载Mozilla维护的根CA证书包,保存为
cacert.pem文件,将其放到WAMP的PHP目录下的extras/ssl文件夹中(比如C:/wamp64/bin/php/php8.2.0/extras/ssl/,路径根据你的PHP版本调整)。 - 打开WAMP管理器,找到当前使用的PHP版本,点击
php.ini打开配置文件。 - 在配置文件中找到以下两行,去掉前面的注释符号
;,并设置为cacert.pem的绝对路径:
注意把curl.cainfo = "C:/wamp64/bin/php/phpX.X.X/extras/ssl/cacert.pem" openssl.cafile = "C:/wamp64/bin/php/phpX.X.X/extras/ssl/cacert.pem"phpX.X.X替换成你实际的PHP版本号。 - 重启WAMP服务器,使配置生效。
方法二:临时禁用SSL验证(仅测试环境使用)
如果只是测试需求,可以临时关闭Twilio客户端的SSL验证,但生产环境绝对禁止使用,会带来安全风险:
在你的Twilio客户端初始化代码中,添加如下配置:
use Twilio\Rest\Client; use Twilio\Http\CurlClient; $client = new Client($sid, $token); $client->setHttpClient(new CurlClient(['verify' => false]));
额外检查
- 确认修改的是WAMP当前运行的PHP版本对应的
php.ini文件,WAMP可能存在多个PHP版本的配置文件,不要选错。 - 确保
cacert.pem文件的路径正确,且文件没有损坏。
内容的提问来源于stack exchange,提问作者Narakaya
相关产品推荐
相关产品推荐

